summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/SCCP.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix PR1431Devang Patel2007-05-171-1/+1
| | | | | | Test case at Transformations/SCCP/2007-05-16-InvokeCrash.ll llvm-svn: 37185
* Fix typo in comment.Nick Lewycky2007-05-061-1/+1
| | | | llvm-svn: 36873
* Drop 'const'Devang Patel2007-05-031-4/+4
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-4/+4
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+7
| | | | llvm-svn: 36632
* fix long linesChris Lattner2007-04-141-4/+4
| | | | llvm-svn: 36031
* minor cleanupsChris Lattner2007-03-041-7/+8
| | | | llvm-svn: 34904
* For PR1195:Reid Spencer2007-02-151-4/+4
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-3/+4
| | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939
* Switch this back to using an std::map. DenseMap entries are getting invalidatedChris Lattner2007-02-021-5/+5
| | | | llvm-svn: 33799
* Remove more malloc thrashing, this speeds up IPSCCP on kimwitu another 6.7%.Chris Lattner2007-02-021-10/+10
| | | | llvm-svn: 33796
* Convert an std::set to SmallSet, this speeds up IPSCCP 17% on kimwitu.Chris Lattner2007-02-021-5/+5
| | | | llvm-svn: 33794
* eliminate a malloc/free for (almost) every GEP processed. This speeds upChris Lattner2007-02-021-2/+3
| | | | | | IPSCCP 3.3% on kimwitu. llvm-svn: 33793
* switch hash_map's over to DenseMap in SCCP. This speeds up SCCP by 30% inChris Lattner2007-02-021-19/+21
| | | | | | a release-assert build on kimwitu++. llvm-svn: 33792
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-021-1/+0
| | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. llvm-svn: 33776
* Adjust #includes to match movement of constant folding code from ↵Chris Lattner2007-01-301-1/+2
| | | | | | transformutils to libanalysis. llvm-svn: 33680
* use smallvector instead of vector to make constant folding a bit more efficientChris Lattner2007-01-301-2/+3
| | | | llvm-svn: 33672
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-301-4/+4
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Fix a minor bug handling constant exprs, introduced by a recent patch.Chris Lattner2007-01-131-1/+1
| | | | llvm-svn: 33175
* For PR1064:Reid Spencer2007-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | 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-121-5/+3
| | | | | | | | 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
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-111-3/+3
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-10/+12
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* 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-231-0/+88
| | | | | | | | 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
* handle undef values much more carefully: generalize the resolveundefbranchesChris Lattner2006-12-201-32/+172
| | | | | | | | code to handle instructions as well, so that we properly fold things like X & undef -> 0. This fixes Transforms/SCCP/2006-12-19-UndefBug.ll llvm-svn: 32715
* Switch over Transforms/Scalar to use the STATISTIC macro. For each statisticChris Lattner2006-12-191-10/+10
| | | | | | | converted, we lose a static initializer. This also allows GCC to emit warnings about unused statistics. llvm-svn: 32690
* Change inferred getCast into specific getCast. Passes all tests.Reid Spencer2006-12-121-1/+2
| | | | llvm-svn: 32469
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-3/+3
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-6/+6
| | | | | | is 'unsigned'. llvm-svn: 32279
* SCCP does not handle Packed Type properly. Disable Packed Type handlingDevang Patel2006-12-041-1/+17
| | | | | | for now. llvm-svn: 32208
* Removed #include <iostream> and replaced with llvm_* streams.Bill Wendling2006-11-261-23/+22
| | | | llvm-svn: 31923
* For PR786:Reid Spencer2006-11-021-2/+2
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* Handle fallout from the recent branch-on-undef changes. This fixesChris Lattner2006-10-231-1/+24
| | | | | | Prolangs-C/agrep and SCCP/2006-10-23-IPSCCP-Crash.ll llvm-svn: 31132
* 3 Changes:Chris Lattner2006-10-221-24/+35
| | | | | | | | | | 1. Better document what is going on here. 2. Only hack on one branch per iteration, making the results less conservative. 3. Handle the problematic case by marking edges executable instead of by playing with value lattice states. This is far less pessimistic, and fixes SCCP/ipsccp-gvar.ll. llvm-svn: 31106
* Fix an ugly problem in SCCP. This fixes Benchmarks/Misc-C++/mandel-text.cppChris Lattner2006-10-201-2/+3
| | | | llvm-svn: 31073
* Eliminate ConstantBool::True and ConstantBool::False. Instead, provideChris Lattner2006-09-281-9/+6
| | | | | | ConstantBool::getTrue() and ConstantBool::getFalse(). llvm-svn: 30665
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-2/+2
| | | | llvm-svn: 29925
* Add supprot for shufflevectorChris Lattner2006-04-081-0/+25
| | | | llvm-svn: 27513
* Implement some more interesting select sccp cases. This implements:Chris Lattner2006-02-081-15/+35
| | | | | | test/Regression/Transforms/SCCP/select.ll llvm-svn: 26049
* Make iostream #inclusion explicitChris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25514
* Lowerpacked and SCCP support for the insertelement operation.Robert Bocchino2006-01-171-0/+21
| | | | llvm-svn: 25406
* Added lower packed support for the extractelement operation.Robert Bocchino2006-01-101-0/+12
| | | | llvm-svn: 25180
* Eliminate GetGEPGlobalInitializer in favor of the more powerfulChris Lattner2005-09-261-27/+1
| | | | | | ConstantFoldLoadThroughGEPConstantExpr function in the utils lib. llvm-svn: 23446
* Eliminate tabs and trailing spacesJeff Cohen2005-04-231-8/+8
| | | | llvm-svn: 21480
* Remove trailing whitespaceMisha Brukman2005-04-211-34/+34
| | | | llvm-svn: 21427
* Wrap some long lines.Chris Lattner2005-04-191-3/+9
| | | | | | | | Make IPSCCP strip off dead constant exprs that are using functions, making them appear as though their address is taken. This allows us to propagate some more pool descriptors, lowering the overhead of pool alloc. llvm-svn: 21363
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-5/+5
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
OpenPOWER on IntegriCloud