summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ValueTracking.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* move GetPointerBaseWithConstantOffset out of GVN into ValueTracking.hChris Lattner2010-11-301-0/+41
| | | | llvm-svn: 120476
* PR5207: Make APInt::set(), APInt::clear() and APInt::flip() return void.Jay Foad2010-11-301-2/+3
| | | | llvm-svn: 120413
* fix PR8063, a crash in globalopt in the malloc analysis code.Chris Lattner2010-09-051-20/+29
| | | | llvm-svn: 113109
* move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner2010-08-181-189/+0
| | | | | | | | | decomposition that it is doing is very basicaa specific and is only used by basicaa. Now with less tree breakingness. llvm-svn: 111433
* Revert r111375, "move gep decomposition out of ValueTracking into BasicAA. TheDaniel Dunbar2010-08-181-0/+188
| | | | | | form of", it doesn't pass tests. llvm-svn: 111385
* move gep decomposition out of ValueTracking into BasicAA. The form ofChris Lattner2010-08-181-188/+0
| | | | | | | decomposition that it is doing is very basicaa specific and is only used by basicaa. llvm-svn: 111375
* fix PR7589: In brief:Chris Lattner2010-08-181-3/+3
| | | | | | | | | gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. llvm-svn: 111352
* 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
OpenPOWER on IntegriCloud