Chris Lattner
0513e9fe03
Remove support for NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3323 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:18:02 +00:00
Chris Lattner
48a4531ee4
Remove extra #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3322 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:17:32 +00:00
Chris Lattner
f4e3c006ac
Remove constant propogation support for NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3321 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:17:07 +00:00
Chris Lattner
20e8e01c5d
Remove support for NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3320 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:00:52 +00:00
Chris Lattner
e489aa563c
Remove information about dead 'not' instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3319 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:55:59 +00:00
Chris Lattner
b804760b56
Remove support for unary operators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3318 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:53:45 +00:00
Chris Lattner
a9261ff5b7
Implement two constructor functions for "unary" instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3317 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:52:27 +00:00
Chris Lattner
589fda514c
Remove support forNOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3316 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:52:06 +00:00
Chris Lattner
af2930efa0
- Fix InstCombine pass to not generate or process NOT instructions
...
- Fixed testcases to not use them either.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3315 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:51:49 +00:00
Chris Lattner
75309f844a
Expose two new static methods from BinaryOperator: createNeg, createNot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3314 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:51:29 +00:00
Chris Lattner
e4c3764a9f
Remove support for NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3313 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:45:39 +00:00
Chris Lattner
500888b7e8
Remove illegal test now that not instruction does not exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3312 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:44:00 +00:00
Chris Lattner
3a6c063699
Make sure there is SOME output always so the test is not rerun when unneccesary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3311 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:38:15 +00:00
Chris Lattner
23fbe30bc3
The not instruction is just a specialized form of XOR
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3310 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:37:04 +00:00
Chris Lattner
699f1eb214
AsmParser turns 'not' instructions into 'xor' instructions now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3309 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:12:33 +00:00
Chris Lattner
227b86c5fb
Return null on failure, instead of aborting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3308 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:12:13 +00:00
Vikram S. Adve
a7710518da
Add method MachineInstr::substituteValue() which substitutes
...
one Value with another one in all operands and implicit references
of the machine instruction.
Also add method MachineOperand::getVRegValueOrNull().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3307 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 16:54:11 +00:00
Vikram S. Adve
e2a78e3186
Add method MachineInstr::substituteValue() which substitutes
...
one Value with another one in all operands and implicit references
of the machine instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3306 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 16:52:58 +00:00
Chris Lattner
cefbd32637
Updated GettingStarted guide to be accurate now that binaries are in /shared
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3305 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 21:10:30 +00:00
Chris Lattner
f8856bc403
Add a note that specifies that the whether or not sign extension is done by
...
a cast is determined by the source operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3304 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 20:52:09 +00:00
Chris Lattner
65629d5a16
Minor change to make lli print out characters numerically as well as symbolically
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3303 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 20:45:11 +00:00
Vikram S. Adve
ca710e9cc5
Bug fix in TargetData::getIndexedOffset: We were using the pointer
...
type instead of the element type for the element size for arrays.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3302 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 18:17:56 +00:00
Vikram S. Adve
6c0c3010da
Several bug fixes in casting to signed int values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3301 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 18:04:08 +00:00
Chris Lattner
572f4a01a5
- Rename ConstantGenericIntegral -> ConstantIntegral
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3300 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 17:50:24 +00:00
Chris Lattner
9fb96412ae
- Rename ConstantGenericIntegral -> ConstantIntegral
...
- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
getAllOnesValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3299 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 17:50:20 +00:00
Chris Lattner
c75071c3bf
- Rename ConstantGenericIntegral -> ConstantIntegral
...
- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
getAllOnesValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3298 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 17:50:18 +00:00
Vikram S. Adve
65a2deef8c
Handle small unsigned results correctly by clearing high bits.
...
Bug fixes in casting to signed int values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3297 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 17:40:54 +00:00
Brian Ensink
7b0925f4d3
Build correctly in the face of /shared.
...
-Chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3296 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 22:09:44 +00:00
Chris Lattner
9568568b75
- Clean up interface to Sparc register handling a bit:
...
- Eliminate Sparc*Order classes, moving contents to Sparc*Class classes
- get register name methods now return const char * const pointers instead
of std::string's.
- Added file header comments to SparcRegClassInfo.(cpp|h)
- Moved BIG constant arrays out of SparcRegClassInfo.h, into
SparcRegInfo.cpp. This should allow a LOT of std::string constructors to
not have to be called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3295 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:25:05 +00:00
Chris Lattner
6ef3369321
Return const char * const instead of std::string from get register name method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:24:55 +00:00
Chris Lattner
994b9f337b
- Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral
...
- Moved InstCombine: isMaxValue, isMinValue, isAllOnesValue to Constants.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:21:21 +00:00
Chris Lattner
c0c4d70ad8
Tools are now moved into /shared
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3292 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:20:59 +00:00
Chris Lattner
285af38864
- Makefile changes:
...
- Now build executables into /shared
- New BUILD_ROOT_TOP variable which is basically = $(BUILD_ROOT)/$(LEVEL) but
cleaner and works for llvm/test/*
- Use := more in Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3291 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:19:28 +00:00
Chris Lattner
233f7dcde3
* Factor a bunch of code by using ReplaceInstUsesWith
...
* Move isMaxValue, isMinValue, isAllOnesValue to Constants.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3290 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:17:25 +00:00
Chris Lattner
bb6342b052
Remove some extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3289 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 20:24:46 +00:00
Chris Lattner
4228b5aac4
Changes to make GlobalValueRefMap not derive from std::map.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3288 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 20:23:29 +00:00
Chris Lattner
ad1023b3cc
Add comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3287 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 19:18:49 +00:00
Chris Lattner
8b170945ea
New functionality for instcombine:
...
* New ReplaceInstUsesWith function to factor out tons of common code
This needs to be used more in the future still, but it's a good start
* New InsertNewInstBefore to allow multi-instruction replacements
* Change getMaxValue functions to isAllOnesValue function, which doesn't
have to CREATE/lookup a new constant. Also the name is accurate
* Add new isMaxValue, isMinValue, isMaxValueMinusOne, isMinValuePlusOne
functions: This should be moved to Constant* classes eventually
* Implement xor X, ALLONES -> not X
* Fold ALL setcc's of booleans away
* Handle various SetCC's for integers against values at the end of their
ranges, possibly off by one. This implements the setcc-strength-reduce.ll
testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3286 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:47:40 +00:00
Chris Lattner
42dbd3044c
xor x, ALLONES should -> not x
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3285 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:34:39 +00:00
Chris Lattner
22fae29835
setcc of booleans should always be eliminated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:34:18 +00:00
Chris Lattner
f8e2cf9221
Add more strength reduction testcases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3283 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 23:33:58 +00:00
Chris Lattner
389694834a
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3282 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 22:52:08 +00:00
Chris Lattner
89f2aa5fd8
* IntervalPartition no longer derives from vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 22:52:06 +00:00
Chris Lattner
cc367a3ea0
Do not add an extra vtable to EVERY machineinstr created.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3280 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:49:21 +00:00
Chris Lattner
dc1e020444
UnaryOperator::create should take a name just like BinaryOperator::create
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3279 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:39:38 +00:00
Chris Lattner
035dfbe7f2
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:06 +00:00
Chris Lattner
179cdfb5c8
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3277 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:03 +00:00
Chris Lattner
b91b31c12d
We are using std::vector, so remove extraneous namespace prefixes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3275 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:05:34 +00:00
Chris Lattner
919c4f8a44
Change machinecode for instruction to not inherit from vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3274 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:04:28 +00:00
Chris Lattner
5b2f502968
The second parameter of hash_set is the default, remove it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3273 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 19:40:42 +00:00