Chris Lattner [Wed, 14 Aug 2002 18:17:07 +0000 (18:17 +0000)]
Remove constant propogation support for NOT instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3321
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 18:00:52 +0000 (18:00 +0000)]
Remove support for NOT instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3320
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 17:55:59 +0000 (17:55 +0000)]
Remove information about dead 'not' instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3319
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 17:53:45 +0000 (17:53 +0000)]
Remove support for unary operators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3318
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 17:52:27 +0000 (17:52 +0000)]
Implement two constructor functions for "unary" instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3317
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 17:52:06 +0000 (17:52 +0000)]
Remove support forNOT instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3316
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 17:51:49 +0000 (17:51 +0000)]
- 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
Chris Lattner [Wed, 14 Aug 2002 17:51:29 +0000 (17:51 +0000)]
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
Chris Lattner [Wed, 14 Aug 2002 17:45:39 +0000 (17:45 +0000)]
Remove support for NOT instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3313
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 14 Aug 2002 17:44:00 +0000 (17:44 +0000)]
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
Chris Lattner [Wed, 14 Aug 2002 17:38:15 +0000 (17:38 +0000)]
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
Chris Lattner [Wed, 14 Aug 2002 17:37:04 +0000 (17:37 +0000)]
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
Chris Lattner [Wed, 14 Aug 2002 17:12:33 +0000 (17:12 +0000)]
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
Chris Lattner [Wed, 14 Aug 2002 17:12:13 +0000 (17:12 +0000)]
Return null on failure, instead of aborting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3308
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 14 Aug 2002 16:54:11 +0000 (16:54 +0000)]
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
Vikram S. Adve [Wed, 14 Aug 2002 16:52:58 +0000 (16:52 +0000)]
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
Chris Lattner [Tue, 13 Aug 2002 21:10:30 +0000 (21:10 +0000)]
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
Chris Lattner [Tue, 13 Aug 2002 20:52:09 +0000 (20:52 +0000)]
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
Chris Lattner [Tue, 13 Aug 2002 20:45:11 +0000 (20:45 +0000)]
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
Vikram S. Adve [Tue, 13 Aug 2002 18:17:56 +0000 (18:17 +0000)]
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
Vikram S. Adve [Tue, 13 Aug 2002 18:04:08 +0000 (18:04 +0000)]
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
Chris Lattner [Tue, 13 Aug 2002 17:50:24 +0000 (17:50 +0000)]
- Rename ConstantGenericIntegral -> ConstantIntegral
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3300
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 13 Aug 2002 17:50:20 +0000 (17:50 +0000)]
- 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
Chris Lattner [Tue, 13 Aug 2002 17:50:18 +0000 (17:50 +0000)]
- 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
Vikram S. Adve [Tue, 13 Aug 2002 17:40:54 +0000 (17:40 +0000)]
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
Brian Ensink [Mon, 12 Aug 2002 22:09:44 +0000 (22:09 +0000)]
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
Chris Lattner [Mon, 12 Aug 2002 21:25:05 +0000 (21:25 +0000)]
- 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
Chris Lattner [Mon, 12 Aug 2002 21:24:55 +0000 (21:24 +0000)]
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
Chris Lattner [Mon, 12 Aug 2002 21:21:21 +0000 (21:21 +0000)]
- 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
Chris Lattner [Mon, 12 Aug 2002 21:20:59 +0000 (21:20 +0000)]
Tools are now moved into /shared
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3292
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Aug 2002 21:19:28 +0000 (21:19 +0000)]
- 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
Chris Lattner [Mon, 12 Aug 2002 21:17:25 +0000 (21:17 +0000)]
* 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
Chris Lattner [Mon, 12 Aug 2002 20:24:46 +0000 (20:24 +0000)]
Remove some extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3289
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 12 Aug 2002 20:23:29 +0000 (20:23 +0000)]
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
Chris Lattner [Mon, 12 Aug 2002 19:18:49 +0000 (19:18 +0000)]
Add comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3287
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 23:47:40 +0000 (23:47 +0000)]
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
Chris Lattner [Fri, 9 Aug 2002 23:34:39 +0000 (23:34 +0000)]
xor x, ALLONES should -> not x
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3285
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 23:34:18 +0000 (23:34 +0000)]
setcc of booleans should always be eliminated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3284
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 23:33:58 +0000 (23:33 +0000)]
Add more strength reduction testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3283
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 22:52:08 +0000 (22:52 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3282
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 22:52:06 +0000 (22:52 +0000)]
* IntervalPartition no longer derives from vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 21:49:21 +0000 (21:49 +0000)]
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
Chris Lattner [Fri, 9 Aug 2002 21:39:38 +0000 (21:39 +0000)]
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
Chris Lattner [Fri, 9 Aug 2002 20:08:06 +0000 (20:08 +0000)]
* 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
Chris Lattner [Fri, 9 Aug 2002 20:08:03 +0000 (20:08 +0000)]
* 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
Chris Lattner [Fri, 9 Aug 2002 20:05:34 +0000 (20:05 +0000)]
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
Chris Lattner [Fri, 9 Aug 2002 20:04:28 +0000 (20:04 +0000)]
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
Chris Lattner [Fri, 9 Aug 2002 19:40:42 +0000 (19:40 +0000)]
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
Chris Lattner [Fri, 9 Aug 2002 19:18:12 +0000 (19:18 +0000)]
Oops, I accidentally broke the .d files. Fixed thusly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3272
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 18:55:18 +0000 (18:55 +0000)]
Very minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3271
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 16:14:56 +0000 (16:14 +0000)]
* Document the BUILD_ROOT changes and option
* Convert directories to <tt> like they should be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3270
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 9 Aug 2002 15:41:55 +0000 (15:41 +0000)]
* Remove some bogus dependencies on Depend/.dir
* Build into the machine local /shared directory instead of using local
Debug/Depend/Release directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3269
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 20:23:41 +0000 (20:23 +0000)]
Oh yeah, I wrote it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3268
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 20:11:18 +0000 (20:11 +0000)]
Initial checkin of the "Writting an LLVM Pass" document
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3267
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 20:10:38 +0000 (20:10 +0000)]
Initial checkin of the "Hello World" Pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3266
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 19:01:30 +0000 (19:01 +0000)]
- Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3265
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 19:01:28 +0000 (19:01 +0000)]
- Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3264
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 19:01:11 +0000 (19:01 +0000)]
- Cleaned up the interface to AnalysisUsage to take analysis class names
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3263
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 8 Aug 2002 19:00:34 +0000 (19:00 +0000)]
Remove extraneous #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3262
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 21:41:11 +0000 (21:41 +0000)]
Minor changes to DEBUG()'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3261
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 21:41:03 +0000 (21:41 +0000)]
Reorder #includes to be right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3260
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 21:39:48 +0000 (21:39 +0000)]
Merge three loops into one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3259
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 21:39:39 +0000 (21:39 +0000)]
Fix breakage in the build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3258
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 19:42:34 +0000 (19:42 +0000)]
Only include the sparc.o file once!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 18:36:37 +0000 (18:36 +0000)]
Simplify writing custom parsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3256
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 18:36:27 +0000 (18:36 +0000)]
Simplify interface to parsers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3255
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 7 Aug 2002 18:27:04 +0000 (18:27 +0000)]
* Write the "Custom parser" section
* Boldify stuff that changes in the help output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3254
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Aug 2002 19:36:06 +0000 (19:36 +0000)]
Write the reference section, make other minor editing changes elsewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3253
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehwish Nagda [Mon, 5 Aug 2002 23:23:19 +0000 (23:23 +0000)]
added Mapping and Function Pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3251
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:55:59 +0000 (20:55 +0000)]
Add function GetConstantValueAsUnsignedInt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3249
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:55:37 +0000 (20:55 +0000)]
Bug fix in CreateCodeToLoadConst(): use sign of dest, not operand,
in choosing how to create int-set instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3248
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:53:14 +0000 (20:53 +0000)]
Add a sequence of GEPs with constant indices, for folding.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3247
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:52:39 +0000 (20:52 +0000)]
Bug fix in TargetData::getIndexedOffset(): handle struct offset
after array offset correctly. The type was not being updated for
array offsets!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3246
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:51:05 +0000 (20:51 +0000)]
Bug fix in SetOperandsForMemInstr: handle leading zeros correctly
when folding or not folding GEPs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3245
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 4 Aug 2002 20:49:49 +0000 (20:49 +0000)]
Add function GetConstantValueAsUnsignedInt.
Fix 2 bugs in FoldGetElemChain so index vector is not modified
when no GEPs are folded in, and so a hasLeadingZero is computed
only for the last folded GEP, not the one after that if any.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3244
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:57:38 +0000 (20:57 +0000)]
Fix compilation problem. IsIndexZero doesn't exist, use IsZero instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3243
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:30:26 +0000 (20:30 +0000)]
Testcase for stuff instcombine should do eventually
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3240
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:24:58 +0000 (20:24 +0000)]
Add some more features that we could instcombine away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3239
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:24:45 +0000 (20:24 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3238
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Aug 2002 20:19:30 +0000 (20:19 +0000)]
Comment options that may be enabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3237
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:48:21 +0000 (13:48 +0000)]
Simplified handling of array indexes in SetMemOperands_Internal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3236
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:22:36 +0000 (13:22 +0000)]
Add MemAccessInst::getNumIndices().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3234
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:21:15 +0000 (13:21 +0000)]
Eliminate cast instructions: use only GEPs in decomposed sequence.
Don't decompose if there are 2 indices with 0 as first index.
Compute Changed flag correctly in runOnBasicBlock().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3233
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:17:03 +0000 (13:17 +0000)]
Run both *.ll and *.c tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3232
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sat, 3 Aug 2002 13:16:47 +0000 (13:16 +0000)]
Added expected decomposed sequence in comments, plus a couple of new cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3231
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 23:08:32 +0000 (23:08 +0000)]
Fix problem where lli would not print out a 64 bit value when the client code
uses the modifier "%ld". Now lli passes off "%lld" to the underlying runtime
library in this case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3230
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 22:06:04 +0000 (22:06 +0000)]
Fix one real nasty bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3227
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 21:51:29 +0000 (21:51 +0000)]
Fix lli with no arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3226
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 20:00:25 +0000 (20:00 +0000)]
Fix bug: test/Regression/Transforms/InstCombine/2002-08-02-CastTest.ll
Implement feature: Cast's can now be converted to bitwise AND expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3225
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:59:20 +0000 (19:59 +0000)]
Fix yet another bug in the testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3224
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:54:05 +0000 (19:54 +0000)]
Fix bug in testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:29:35 +0000 (19:29 +0000)]
* Cleanups of instcombine
- Reenable gep (gep x) -> x
- Make instcombine do dead instruction elimination where it's really
easy. Now visitors don't have to ensure they aren't not processing
dead instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 19:27:58 +0000 (19:27 +0000)]
These tests should not run -dce pass to cleanup instcombine.
If instcombine is making dead instructions, ALL that should be used is -die
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3221
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:48:09 +0000 (18:48 +0000)]
Add another testcase that isn't failing because of another bug in instcombine
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3220
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:47:11 +0000 (18:47 +0000)]
Change test to really test the cases we can hit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3219
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:46:53 +0000 (18:46 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3218
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Fri, 2 Aug 2002 18:34:12 +0000 (18:34 +0000)]
Don't build Debug/ versions when ENABLE_OPTIMIZED is on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3216
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 18:06:01 +0000 (18:06 +0000)]
Fix bug: test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3215
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 17:37:08 +0000 (17:37 +0000)]
Implement dominator checking in the verifier, so that we check that all
defintiions dominate their uses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3214
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Aug 2002 16:51:27 +0000 (16:51 +0000)]
Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3213
91177308-0d34-0410-b5e6-
96231b3b80d8