summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ValueTracking.cpp
Commit message (Collapse)AuthorAgeFilesLines
* use ArgOperand accessorsGabor Greif2010-06-231-2/+2
| | | | llvm-svn: 106697
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-161-2/+2
| | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
* reapply r101434Gabor Greif2010-04-161-2/+2
| | | | | | | | | | | | | with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-161-2/+2
| | | | llvm-svn: 101434
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-151-2/+2
| | | | | | | | | | | | | with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-151-2/+2
| | | | llvm-svn: 101368
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-151-2/+2
| | | | | | | | | | of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
* Constify GetConstantStringInfo.Dan Gohman2010-04-141-12/+13
| | | | llvm-svn: 101298
* Fix a typo in ValueTracking that's causing instcombine to delete needed ↵Evan Cheng2010-03-131-1/+1
| | | | | | shift instructions. llvm-svn: 98416
* Move GetStringLength and helper from SimplifyLibCalls to ValueTracking.Eric Christopher2010-03-051-0/+129
| | | | | | No functionality change. llvm-svn: 97793
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-6/+6
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Uniformize the names of type predicates: rather than having isFloatTy andDuncan Sands2010-02-151-8/+8
| | | | | | isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris! llvm-svn: 96223
* It looks like the changes to the SRem logic of SimplifyDemandedUseBitsDuncan Sands2010-01-291-8/+17
| | | | | | (fix for PR6165) are needed here too. llvm-svn: 94801
* teach ComputeNumSignBits to look through PHI nodes.Chris Lattner2010-01-071-4/+19
| | | | llvm-svn: 92964
* Move remaining stuff to the isInteger predicate.Benjamin Kramer2010-01-051-3/+2
| | | | llvm-svn: 92771
* Fix GetConstantStringInfo to not look into MDString (it works on Chris Lattner2009-12-151-5/+0
| | | | | | | real data, not metadata) and fix DbgInfoPrinter to not abuse GetConstantStringInfo. llvm-svn: 91444
* Fixed an assertion failure for tracking sext of a vector of integersMon P Wang2009-12-021-1/+1
| | | | llvm-svn: 90290
* implement a FIXME: limit the depth that DecomposeGEPExpression goes the sameChris Lattner2009-11-281-3/+8
| | | | | | | | | way that getUnderlyingObject does it. This fixes the 'DecomposeGEPExpression and getUnderlyingObject disagree!' assertion on sqlite3. llvm-svn: 90038
* limit the recursion depth of GetLinearExpression. ThisChris Lattner2009-11-271-6/+13
| | | | | | | fixes a crash analyzing consumer-lame, which had an "%X = add %X, 1" in unreachable code. llvm-svn: 90000
* Implement PR1143 (at -m64) by making basicaa look through extensions. WeChris Lattner2009-11-261-2/+23
| | | | | | | previously already handled it at -m32 because there were no i32->i64 extensions for addressing. llvm-svn: 89959
* fix two transposed lines duncan caught and add an explanatory comment.Chris Lattner2009-11-261-1/+4
| | | | llvm-svn: 89958
* this todo is resolved.Chris Lattner2009-11-261-1/+0
| | | | llvm-svn: 89957
* move DecomposeGEPExpression out into ValueTracking.cppChris Lattner2009-11-261-0/+154
| | | | llvm-svn: 89956
* remove some redundant bracesChris Lattner2009-11-261-4/+2
| | | | llvm-svn: 89912
* Remove unused LLVMContext.Nick Lewycky2009-11-231-19/+15
| | | | llvm-svn: 89642
* Simplify ComputeMultiple so that it doesn't depend on TargetData.Dan Gohman2009-11-181-23/+10
| | | | llvm-svn: 89175
* Add ComputeMultiple() analysis function that recursively determines if a ↵Victor Hernandez2009-11-101-0/+125
| | | | | | Value V is a multiple of unsigned Base llvm-svn: 86675
* Remove AllocationInst. Since MallocInst went away, AllocaInst is the only ↵Victor Hernandez2009-10-231-1/+1
| | | | | | subclass of AllocationInst, so it no longer is necessary. llvm-svn: 84969
* Remove MallocInst from LLVM Instructions.Victor Hernandez2009-10-171-18/+3
| | | | llvm-svn: 84299
* Handle sqrt in CannotBeNegativeZero. absf and abslDale Johannesen2009-09-251-3/+7
| | | | | | appear to be misspellings, removed in favor of fabs*. llvm-svn: 82796
* Teach ValueTracking how to look through GlobalAliases. GlobalAliases areDan Gohman2009-09-151-0/+12
| | | | | | | not folded in the constant folder because the constant folder doesn't simplify ConstantExpr operands. llvm-svn: 81864
* fix ComputeMaskedBits handling of zext/sext/trunc to work with vectors.Chris Lattner2009-09-081-6/+9
| | | | | | This fixes PR4905 llvm-svn: 81174
* add some comments to describe the invariants.Chris Lattner2009-09-081-0/+12
| | | | llvm-svn: 81173
* Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification inTorok Edwin2009-09-021-0/+5
| | | | | | r80406, and readd a -print-dbginfo test. llvm-svn: 80778
* Handle TargetData with const.Dan Gohman2009-08-271-3/+4
| | | | llvm-svn: 80262
* Use hasDefinitiveInitializer() instead of testing the same thingDan Gohman2009-08-191-2/+1
| | | | | | | by hand, and fix a few places that were using hasInitializer() that appear to depend on the initializer value. llvm-svn: 79441
* Fix SimplifyLibcalls and ValueTracking to check mayBeOverriddenDan Gohman2009-08-191-1/+2
| | | | | | before performing optimizations based on constant string values. llvm-svn: 79384
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-131-4/+7
| | | | llvm-svn: 78948
* Don't assume that external global variables are aligned at their preferredDan Gohman2009-08-111-2/+10
| | | | | | alignment. Only the minimum alignment guaranteed by the ABI may be assumed. llvm-svn: 78668
* Fix a bunch of namespace pollution.Dan Gohman2009-08-071-8/+8
| | | | llvm-svn: 78363
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-311-1/+1
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Move more code back to 2.5 APIs.Owen Anderson2009-07-301-2/+2
| | | | llvm-svn: 77635
* Remove Value::getNameLenDaniel Dunbar2009-07-261-9/+5
| | | | llvm-svn: 77148
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-6/+6
| | | | llvm-svn: 76702
* Add a new Operator class, for handling Instructions and ConstantExprsDan Gohman2009-07-171-20/+9
| | | | | | | | | in a convenient manner, factoring out some common code from InstructionCombining and ValueTracking. Move the contents of BinaryOperators.h into Operator.h and use Operator to generalize them to support ConstantExprs as well as Instructions. llvm-svn: 76232
* "LLVMContext* " --> "LLVMContext *"Owen Anderson2009-07-061-2/+2
| | | | llvm-svn: 74878
* Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's ↵Owen Anderson2009-07-061-17/+23
| | | | | | through the ValueTracking API. llvm-svn: 74873
* do not try to analyze bitcasts from i64 to <2 x i32> in ComputedMaskedBits. ↵Chris Lattner2009-07-021-1/+4
| | | | | | | | | While we could do this, doing so requires adjusting the demanded mask and the code isn't doing that yet. This fixes PR4495 llvm-svn: 74699
* Fix llvm::ComputeNumSignBits to handle pointer typesDan Gohman2009-06-221-1/+5
| | | | | | conservatively correctly, instead of aborting. llvm-svn: 73908
* Support vector casts in more places, fixing a variety of assertionDan Gohman2009-06-151-10/+25
| | | | | | | | | | | | | | | failures. To support this, add some utility functions to Type to help support vector/scalar-independent code. Change ConstantInt::get and ConstantFP::get to support vector types, and add an overload to ConstantInt::get that uses a static IntegerType type, for convenience. Introduce a new getConstant method for ScalarEvolution, to simplify common use cases. llvm-svn: 73431
OpenPOWER on IntegriCloud