Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Reapply r121886, and also update DecomposeGEPExpression to keep | Dan Gohman | 2010-12-15 | 1 | -0/+8 | |
| | | | | | | it in sync. llvm-svn: 121895 | |||||
* | Revert r121886. DecomposeGEPExpression needs to be kept | Dan Gohman | 2010-12-15 | 1 | -8/+0 | |
| | | | | | | in sync. llvm-svn: 121892 | |||||
* | Strengthen GetUnderlyingObject using InstructionSimplify. | Dan Gohman | 2010-12-15 | 1 | -0/+9 | |
| | | | | | | | | | | While LLVM's main design is that analysis code shouldn't go out of its way to understand code which hasn't been InstCombined, analysis utility routines like this can find themselves being called in the middle of transform passes when instcombine hasn't had a chance to run. llvm-svn: 121886 | |||||
* | Move Value::getUnderlyingObject to be a standalone | Dan Gohman | 2010-12-15 | 1 | -0/+20 | |
| | | | | | | | function so that it can live in Analysis instead of VMCore. llvm-svn: 121885 | |||||
* | PR5207: Change APInt methods trunc(), sext(), zext(), sextOrTrunc() and | Jay Foad | 2010-12-07 | 1 | -12/+10 | |
| | | | | | | | | zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121120 | |||||
* | PR5207: Rename overloaded APInt methods set(), clear(), flip() to | Jay Foad | 2010-12-01 | 1 | -11/+11 | |
| | | | | | | setAllBits(), setBit(unsigned), etc. llvm-svn: 120564 | |||||
* | move GetPointerBaseWithConstantOffset out of GVN into ValueTracking.h | Chris Lattner | 2010-11-30 | 1 | -0/+41 | |
| | | | | llvm-svn: 120476 | |||||
* | PR5207: Make APInt::set(), APInt::clear() and APInt::flip() return void. | Jay Foad | 2010-11-30 | 1 | -2/+3 | |
| | | | | llvm-svn: 120413 | |||||
* | fix PR8063, a crash in globalopt in the malloc analysis code. | Chris Lattner | 2010-09-05 | 1 | -20/+29 | |
| | | | | llvm-svn: 113109 | |||||
* | move gep decomposition out of ValueTracking into BasicAA. The form of | Chris Lattner | 2010-08-18 | 1 | -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. The | Daniel Dunbar | 2010-08-18 | 1 | -0/+188 | |
| | | | | | | form of", it doesn't pass tests. llvm-svn: 111385 | |||||
* | move gep decomposition out of ValueTracking into BasicAA. The form of | Chris Lattner | 2010-08-18 | 1 | -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 Lattner | 2010-08-18 | 1 | -3/+3 | |
| | | | | | | | | | gep P, (zext x) != gep P, (sext x) DecomposeGEPExpression was getting this wrong, confusing basicaa. llvm-svn: 111352 | |||||
* | use ArgOperand accessors | Gabor Greif | 2010-06-23 | 1 | -2/+2 | |
| | | | | llvm-svn: 106697 | |||||
* | Revert 101465, it broke internal OpenGL testing. | Eric Christopher | 2010-04-16 | 1 | -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 r101434 | Gabor Greif | 2010-04-16 | 1 | -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 darwin10 | Gabor Greif | 2010-04-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 101434 | |||||
* | reapply r101364, which has been backed out in r101368 | Gabor Greif | 2010-04-15 | 1 | -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++ tests | Gabor Greif | 2010-04-15 | 1 | -2/+2 | |
| | | | | llvm-svn: 101368 | |||||
* | rotate CallInst operands, i.e. move callee to the back | Gabor Greif | 2010-04-15 | 1 | -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 Gohman | 2010-04-14 | 1 | -12/+13 | |
| | | | | llvm-svn: 101298 | |||||
* | Fix a typo in ValueTracking that's causing instcombine to delete needed ↵ | Evan Cheng | 2010-03-13 | 1 | -1/+1 | |
| | | | | | | shift instructions. llvm-svn: 98416 | |||||
* | Move GetStringLength and helper from SimplifyLibCalls to ValueTracking. | Eric Christopher | 2010-03-05 | 1 | -0/+129 | |
| | | | | | | No functionality change. llvm-svn: 97793 | |||||
* | There are two ways of checking for a given type, for example isa<PointerType>(T) | Duncan Sands | 2010-02-16 | 1 | -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 and | Duncan Sands | 2010-02-15 | 1 | -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 SimplifyDemandedUseBits | Duncan Sands | 2010-01-29 | 1 | -8/+17 | |
| | | | | | | (fix for PR6165) are needed here too. llvm-svn: 94801 | |||||
* | teach ComputeNumSignBits to look through PHI nodes. | Chris Lattner | 2010-01-07 | 1 | -4/+19 | |
| | | | | llvm-svn: 92964 | |||||
* | Move remaining stuff to the isInteger predicate. | Benjamin Kramer | 2010-01-05 | 1 | -3/+2 | |
| | | | | llvm-svn: 92771 | |||||
* | Fix GetConstantStringInfo to not look into MDString (it works on | Chris Lattner | 2009-12-15 | 1 | -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 integers | Mon P Wang | 2009-12-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 90290 | |||||
* | implement a FIXME: limit the depth that DecomposeGEPExpression goes the same | Chris Lattner | 2009-11-28 | 1 | -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. This | Chris Lattner | 2009-11-27 | 1 | -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. We | Chris Lattner | 2009-11-26 | 1 | -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 Lattner | 2009-11-26 | 1 | -1/+4 | |
| | | | | llvm-svn: 89958 | |||||
* | this todo is resolved. | Chris Lattner | 2009-11-26 | 1 | -1/+0 | |
| | | | | llvm-svn: 89957 | |||||
* | move DecomposeGEPExpression out into ValueTracking.cpp | Chris Lattner | 2009-11-26 | 1 | -0/+154 | |
| | | | | llvm-svn: 89956 | |||||
* | remove some redundant braces | Chris Lattner | 2009-11-26 | 1 | -4/+2 | |
| | | | | llvm-svn: 89912 | |||||
* | Remove unused LLVMContext. | Nick Lewycky | 2009-11-23 | 1 | -19/+15 | |
| | | | | llvm-svn: 89642 | |||||
* | Simplify ComputeMultiple so that it doesn't depend on TargetData. | Dan Gohman | 2009-11-18 | 1 | -23/+10 | |
| | | | | llvm-svn: 89175 | |||||
* | Add ComputeMultiple() analysis function that recursively determines if a ↵ | Victor Hernandez | 2009-11-10 | 1 | -0/+125 | |
| | | | | | | Value V is a multiple of unsigned Base llvm-svn: 86675 | |||||
* | Remove AllocationInst. Since MallocInst went away, AllocaInst is the only ↵ | Victor Hernandez | 2009-10-23 | 1 | -1/+1 | |
| | | | | | | subclass of AllocationInst, so it no longer is necessary. llvm-svn: 84969 | |||||
* | Remove MallocInst from LLVM Instructions. | Victor Hernandez | 2009-10-17 | 1 | -18/+3 | |
| | | | | llvm-svn: 84299 | |||||
* | Handle sqrt in CannotBeNegativeZero. absf and absl | Dale Johannesen | 2009-09-25 | 1 | -3/+7 | |
| | | | | | | appear to be misspellings, removed in favor of fabs*. llvm-svn: 82796 | |||||
* | Teach ValueTracking how to look through GlobalAliases. GlobalAliases are | Dan Gohman | 2009-09-15 | 1 | -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 Lattner | 2009-09-08 | 1 | -6/+9 | |
| | | | | | | This fixes PR4905 llvm-svn: 81174 | |||||
* | add some comments to describe the invariants. | Chris Lattner | 2009-09-08 | 1 | -0/+12 | |
| | | | | llvm-svn: 81173 | |||||
* | Fix DbgStopPointInst->getFileName/getDirectory, broken by the MDNodification in | Torok Edwin | 2009-09-02 | 1 | -0/+5 | |
| | | | | | | r80406, and readd a -print-dbginfo test. llvm-svn: 80778 | |||||
* | Handle TargetData with const. | Dan Gohman | 2009-08-27 | 1 | -3/+4 | |
| | | | | llvm-svn: 80262 | |||||
* | Use hasDefinitiveInitializer() instead of testing the same thing | Dan Gohman | 2009-08-19 | 1 | -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 mayBeOverridden | Dan Gohman | 2009-08-19 | 1 | -1/+2 | |
| | | | | | | before performing optimizations based on constant string values. llvm-svn: 79384 |