summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Fix Transforms/InstCombine/2007-01-13-ExtCompareMiscompile.ll, which is partChris Lattner2007-01-131-3/+13
| | | | | | of PR1107 llvm-svn: 33185
* Fix indentation to prior level for easier diffs.Reid Spencer2007-01-131-70/+69
| | | | llvm-svn: 33184
* "Default context" blocks can occur after a non-default one. This meantNick Lewycky2007-01-131-8/+12
| | | | | | | | | that properties were being applied where they didn't belong. Fixes crash in new MiBench testcase. Also mark debugging code as such in #ifdef. llvm-svn: 33177
* Fix a minor bug handling constant exprs, introduced by a recent patch.Chris Lattner2007-01-131-1/+1
| | | | llvm-svn: 33175
* fix a bug in a recent patchChris Lattner2007-01-131-1/+1
| | | | llvm-svn: 33164
* simplify some codeChris Lattner2007-01-121-8/+2
| | | | llvm-svn: 33150
* Remove over-general comparisonsChris Lattner2007-01-121-4/+6
| | | | llvm-svn: 33147
* eliminate redundant checkChris Lattner2007-01-121-1/+0
| | | | llvm-svn: 33132
* Branch conditions must be i1Chris Lattner2007-01-121-3/+1
| | | | llvm-svn: 33129
* For PR1064:Reid Spencer2007-01-126-37/+50
| | | | | | | | | | | | | | | | | | | | | | | Implement the arbitrary bit-width integer feature. The feature allows integers of any bitwidth (up to 64) to be defined instead of just 1, 8, 16, 32, and 64 bit integers. This change does several things: 1. Introduces a new Derived Type, IntegerType, to represent the number of bits in an integer. The Type classes SubclassData field is used to store the number of bits. This allows 2^23 bits in an integer type. 2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and 64-bit integers. These are replaced with just IntegerType which is not a primitive any more. 3. Adjust the rest of LLVM to account for this change. Note that while this incremental change lays the foundation for arbitrary bit-width integers, LLVM has not yet been converted to actually deal with them in any significant way. Most optimization passes, for example, will still only deal with the byte-width integer types. Future increments will rectify this situation. llvm-svn: 33113
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-1211-60/+71
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* If we know that it's a constant being casted, propagate through the castNick Lewycky2007-01-121-1/+10
| | | | | | | instruction. Doesn't work the other way though (can't recover bits that have been truncated). llvm-svn: 33104
* Clean up logic after ConstantBool removal.Nick Lewycky2007-01-121-20/+14
| | | | llvm-svn: 33096
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-1111-39/+39
| | | | llvm-svn: 33076
* Remove unnecessary boolean type check.Zhou Sheng2007-01-111-2/+1
| | | | llvm-svn: 33075
* For PR1043:Zhou Sheng2007-01-1114-283/+304
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Fixed indentation.Zhou Sheng2007-01-111-4/+4
| | | | llvm-svn: 33072
* Quiet compiler warning. The only reason the function is marked virtualNick Lewycky2007-01-111-0/+2
| | | | | | is so that it can be called from inside a debugger. llvm-svn: 33067
* New predicate simplifier!Nick Lewycky2007-01-111-974/+1155
| | | | | | Please do not enable, there is still some known miscompile problem. llvm-svn: 33066
* Fix a bug in heap-sra that caused compilation failure of office-ispell.Chris Lattner2007-01-091-3/+19
| | | | llvm-svn: 33043
* Unbreak VC++ build.Jeff Cohen2007-01-081-1/+1
| | | | llvm-svn: 33021
* Comparison of primitive type sizes should now be done in bits, not bytes.Reid Spencer2007-01-083-12/+14
| | | | | | | This patch converts getPrimitiveSize to getPrimitiveSizeInBits where it is appropriate to do so (comparison of integer primitive types). llvm-svn: 33012
* For PR1097:Reid Spencer2007-01-081-1/+1
| | | | | | | | Enable complex addressing modes on 64-bit platforms involving two induction variables by keeping a size and scale in 64-bits not 32. Patch by Dan Gohman. llvm-svn: 33011
* Types should be const.Reid Spencer2007-01-071-2/+2
| | | | llvm-svn: 33001
* this pass is unusedChris Lattner2007-01-071-436/+0
| | | | llvm-svn: 32998
* Change the interface to Module::getOrInsertFunction to be easier to use,to ↵Chris Lattner2007-01-073-182/+80
| | | | | | | | resolve PR1088, and to help PR411. This simplifies many clients also llvm-svn: 32989
* prepare for adjustment to getOrInsertFunction methodChris Lattner2007-01-071-6/+8
| | | | llvm-svn: 32985
* relax some typesChris Lattner2007-01-074-21/+20
| | | | llvm-svn: 32982
* relax typesChris Lattner2007-01-071-7/+7
| | | | llvm-svn: 32981
* relax some typesChris Lattner2007-01-072-4/+3
| | | | llvm-svn: 32980
* add -debug output for -indvars.Chris Lattner2007-01-071-6/+19
| | | | llvm-svn: 32971
* Fix regressions in InstCombine/call-cast-target.ll and ↵Chris Lattner2007-01-061-1/+5
| | | | | | InstCombine/2003-11-13-ConstExprCastCall.ll llvm-svn: 32959
* For PR411:Reid Spencer2007-01-063-13/+13
| | | | | | | | | Take an incremental step towards type plane elimination. This change separates types from values in the symbol tables by finally making use of the TypeSymbolTable class. This yields more natural interfaces for dealing with types and unclutters the SymbolTable class. llvm-svn: 32956
* this final call to canLosslesslyBitCastTo is dead, because ValueRequiresCastChris Lattner2007-01-061-4/+0
| | | | | | is only called on integers. llvm-svn: 32949
* simplify some more code now that there are not multiple different integerChris Lattner2007-01-061-8/+4
| | | | | | types of the same size llvm-svn: 32948
* eliminate some uses of canLosslesslyBitCastTo, this actually makes the code ↵Chris Lattner2007-01-061-15/+14
| | | | | | | | stronger, by nuking relational pointer comparisons with casts. llvm-svn: 32947
* no need to worry about int vs uint any more.Chris Lattner2007-01-061-2/+1
| | | | llvm-svn: 32946
* Implement InstCombine/vec_shuffle.ll:%test7, simplifying shuffles withChris Lattner2007-01-051-1/+23
| | | | | | undef operands. llvm-svn: 32899
* fold things like a^b != c^a -> b != c. This implements ↵Chris Lattner2007-01-051-12/+33
| | | | | | InstCombine/xor.ll:test27 llvm-svn: 32893
* Compile X + ~X to -1. This implements Instcombine/add.ll:test34Chris Lattner2007-01-051-1/+7
| | | | llvm-svn: 32890
* Death to useless bitcast instructions!Reid Spencer2007-01-041-33/+3
| | | | llvm-svn: 32866
* Enable a couple xforms for packed vectors (undef | v) -> -1 for packed.Chris Lattner2007-01-041-8/+9
| | | | llvm-svn: 32858
* Vectors are not supported by ConstantInt::getAllOnesValue.Jim Laskey2007-01-031-5/+10
| | | | llvm-svn: 32827
* Fix a typo.Reid Spencer2006-12-311-1/+1
| | | | llvm-svn: 32803
* For PR950:Reid Spencer2006-12-3129-453/+379
| | | | | | | | | | | | | This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. llvm-svn: 32785
* For PR1066:Reid Spencer2006-12-241-2/+8
| | | | | | | | Fix this by ensuring that a bitcast is inserted to do sign switching. This is only temporarily needed as the merging of signed and unsigned is next on the SignlessTypes plate. llvm-svn: 32757
* Shut up some compilers that can't accurately analyze variable usageReid Spencer2006-12-231-2/+2
| | | | | | correctly and emit "may be used uninitialized" warnings. llvm-svn: 32756
* For PR1065:Reid Spencer2006-12-231-12/+7
| | | | | | | Don't allow CmpInst instances to be processed in FoldSelectOpOp because you can't easily swap their operands. llvm-svn: 32753
* For PR950:Reid Spencer2006-12-2321-1037/+1831
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* add a simple fast-path for dead allocasChris Lattner2006-12-221-1/+8
| | | | llvm-svn: 32750
OpenPOWER on IntegriCloud