summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/Reassociate.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert the ConstantInt constructors back to their 2.5 forms where possible, ↵Owen Anderson2009-07-241-1/+1
| | | | | | thanks to contexts-on-types. More to come. llvm-svn: 77011
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-17/+22
| | | | llvm-svn: 76702
* These don't really need contexts either.Owen Anderson2009-07-131-6/+6
| | | | llvm-svn: 75528
* Move more functionality over to LLVMContext.Owen Anderson2009-07-131-2/+2
| | | | llvm-svn: 75497
* Begin the painful process of tearing apart the rat'ss nest that is ↵Owen Anderson2009-07-131-15/+15
| | | | | | | | | Constants.cpp and ConstantFold.cpp. This involves temporarily hard wiring some parts to use the global context. This isn't ideal, but it's the only way I could figure out to make this process vaguely incremental. llvm-svn: 75445
* "LLVMContext* " --> "LLVMContext *"Owen Anderson2009-07-061-2/+2
| | | | llvm-svn: 74878
* Even more passes being LLVMContext'd.Owen Anderson2009-07-031-17/+23
| | | | llvm-svn: 74781
* Make the key of ValueRankMap an AssertingVH, so that we die violentlyChris Lattner2009-03-311-6/+7
| | | | | | if it dangles. llvm-svn: 68150
* This pass keeps a map of Instructions to Rank numbers,Dale Johannesen2009-03-191-8/+14
| | | | | | | | | and was deleting Instructions without clearing the corresponding map entry. This led to nondeterministic behavior if the same address got allocated to another Instruction within a short time. llvm-svn: 67306
* Don't assign rank numbers to debug intrinsic "calls".Dale Johannesen2009-03-061-1/+3
| | | | | | This is needed so debug info doesn't change codegen. llvm-svn: 66235
* Fix build failure.Devang Patel2008-11-211-1/+1
| | | | llvm-svn: 59844
* Silence unused variable warnings.Devang Patel2008-11-211-0/+3
| | | | llvm-svn: 59841
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* don't use the result of WriteAsOperandChris Lattner2008-08-191-4/+5
| | | | llvm-svn: 54979
* API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵Gabor Greif2008-05-161-7/+7
| | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-4/+4
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Don't include <map> in Pass.h, which doesn't need it. This requiresDan Gohman2008-03-211-0/+1
| | | | | | adding <map> to many files that actually do need it. llvm-svn: 48667
* simplify some code, BreakUpSubtract always returns nonnull now.Chris Lattner2008-02-181-4/+2
| | | | llvm-svn: 47251
* fix pastoChris Lattner2008-02-171-1/+1
| | | | llvm-svn: 47242
* Split up subtracts into add+negate if they have a reassociable use or operandChris Lattner2008-02-171-5/+8
| | | | | | that is also a subtract. This implements PR2047 and Transforms/Reassociate/subtest2.ll llvm-svn: 47241
* make the logic for breaking up subtracts more explicit, no Chris Lattner2008-02-171-9/+22
| | | | | | functionality change. llvm-svn: 47239
* Use empty() instead of comparing size() with zero.Dan Gohman2008-01-291-1/+1
| | | | llvm-svn: 46514
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix typo in comment.Nick Lewycky2007-05-061-1/+1
| | | | llvm-svn: 36873
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-2/+2
| | | | | | | 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/+4
| | | | llvm-svn: 36632
* Prefer non-virtual calls to ConstantInt::isZero over virtual calls toReid Spencer2007-03-021-4/+4
| | | | | | Constant::isNullValue() in situations where it is possible. llvm-svn: 34821
* Use isUnitValue() instead of getZExtValue() == 1 which will prevent anReid Spencer2007-03-011-1/+1
| | | | | | assert if the ConstantInt's value is large. llvm-svn: 34814
* For PR1195:Reid Spencer2007-02-151-1/+1
| | | | | | | Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and PackedTyID -> VectorTyID. No functional changes. llvm-svn: 34293
* Simplify code by using value::takenameChris Lattner2007-02-111-8/+6
| | | | llvm-svn: 34176
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-2/+3
| | | | | | | 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
* For PR970:Reid Spencer2007-01-211-28/+24
| | | | | | | Clean up handling of isFloatingPoint() and dealing with PackedType. Patch by Gordon Henriksen! llvm-svn: 33415
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-151-1/+1
| | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
* For PR1043:Zhou Sheng2007-01-111-2/+2
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* For PR950:Reid Spencer2006-12-231-4/+5
| | | | | | | | 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
* Switch over Transforms/Scalar to use the STATISTIC macro. For each statisticChris Lattner2006-12-191-6/+5
| | | | | | | converted, we lose a static initializer. This also allows GCC to emit warnings about unused statistics. llvm-svn: 32690
* Removing even more <iostream> includes.Bill Wendling2006-12-071-19/+15
| | | | llvm-svn: 32320
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-5/+5
| | | | | | is 'unsigned'. llvm-svn: 32279
* Remove the 'printname' argument to WriteAsOperand. It is always true, andChris Lattner2006-12-061-1/+1
| | | | | | passing false would make the asmprinter fail anyway. llvm-svn: 32264
* For PR950:Reid Spencer2006-11-021-1/+3
| | | | | | Replace the REM instruction with UREM, SREM and FREM. llvm-svn: 31369
* For PR950:Reid Spencer2006-10-261-1/+3
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* For PR950:Reid Spencer2006-10-201-1/+1
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29925
* Fix Transforms/Reassociate/2006-04-27-ReassociateVector.llChris Lattner2006-04-281-2/+3
| | | | llvm-svn: 28007
* Implement a FIXME, recusively reassociatingChris Lattner2006-03-141-26/+65
| | | | | | | | A*A*B + A*A*C --> A*(A*B+A*C) --> A*(A*(B+C)) This implements Reassociate/mul-factor3.ll llvm-svn: 26757
* extract some code into a method, no functionality changeChris Lattner2006-03-141-50/+56
| | | | llvm-svn: 26755
* Promote shifts by a constant to multiplies so that we can reassociateChris Lattner2006-03-141-13/+17
| | | | | | | (x<<1)+(y<<1) -> (X+Y)<<1. This implements Transforms/Reassociate/shift-factor.ll llvm-svn: 26753
* Add factoring of multiplications, e.g. turning A*A+A*B into A*(A+B).Chris Lattner2006-03-041-49/+186
| | | | | | Testcase here: Transforms/Reassociate/mulfactor.ll llvm-svn: 26524
* Make iostream #inclusion explicitChris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25514
OpenPOWER on IntegriCloud