Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |||||
* | Push LLVMContexts through the IntegerType APIs. | Owen Anderson | 2009-08-13 | 1 | -4/+7 | |
| | | | | llvm-svn: 78948 | |||||
* | Don't assume that external global variables are aligned at their preferred | Dan Gohman | 2009-08-11 | 1 | -2/+10 | |
| | | | | | | alignment. Only the minimum alignment guaranteed by the ABI may be assumed. llvm-svn: 78668 | |||||
* | Fix a bunch of namespace pollution. | Dan Gohman | 2009-08-07 | 1 | -8/+8 | |
| | | | | llvm-svn: 78363 | |||||
* | Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵ | Owen Anderson | 2009-07-31 | 1 | -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 Anderson | 2009-07-30 | 1 | -2/+2 | |
| | | | | llvm-svn: 77635 | |||||
* | Remove Value::getNameLen | Daniel Dunbar | 2009-07-26 | 1 | -9/+5 | |
| | | | | llvm-svn: 77148 | |||||
* | Get rid of the Pass+Context magic. | Owen Anderson | 2009-07-22 | 1 | -6/+6 | |
| | | | | llvm-svn: 76702 | |||||
* | Add a new Operator class, for handling Instructions and ConstantExprs | Dan Gohman | 2009-07-17 | 1 | -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 Anderson | 2009-07-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 74878 | |||||
* | Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's ↵ | Owen Anderson | 2009-07-06 | 1 | -17/+23 | |
| | | | | | | through the ValueTracking API. llvm-svn: 74873 | |||||
* | do not try to analyze bitcasts from i64 to <2 x i32> in ComputedMaskedBits. ↵ | Chris Lattner | 2009-07-02 | 1 | -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 types | Dan Gohman | 2009-06-22 | 1 | -1/+5 | |
| | | | | | | conservatively correctly, instead of aborting. llvm-svn: 73908 | |||||
* | Support vector casts in more places, fixing a variety of assertion | Dan Gohman | 2009-06-15 | 1 | -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 | |||||
* | Split the Add, Sub, and Mul instruction opcodes into separate | Dan Gohman | 2009-06-04 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | integer and floating-point opcodes, introducing FAdd, FSub, and FMul. For now, the AsmParser, BitcodeReader, and IRBuilder all preserve backwards compatability, and the Core LLVM APIs preserve backwards compatibility for IR producers. Most front-ends won't need to change immediately. This implements the first step of the plan outlined here: http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt llvm-svn: 72897 | |||||
* | When the low bits of one operand of an add are zero, that number | Dan Gohman | 2009-05-24 | 1 | -10/+31 | |
| | | | | | | of low bits of the other operand are preserved in the output. llvm-svn: 72365 | |||||
* | Teach ValueTracking a new way to analyze PHI nodes, and and teach | Dan Gohman | 2009-05-21 | 1 | -2/+27 | |
| | | | | | | | | Instcombine to be more aggressive about using SimplifyDemandedBits on shift nodes. This allows a shift to be simplified to zero in the included test case. llvm-svn: 72204 | |||||
* | Rename PaddedSize to AllocSize, in the hope that this | Duncan Sands | 2009-05-09 | 1 | -1/+1 | |
| | | | | | | | will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349 | |||||
* | Oops...I committed too much. | Bill Wendling | 2009-03-13 | 1 | -82/+38 | |
| | | | | llvm-svn: 66867 | |||||
* | Temporarily XFAIL this test. | Bill Wendling | 2009-03-13 | 1 | -38/+82 | |
| | | | | llvm-svn: 66866 | |||||
* | Fix a ValueTracking rule: RHS means operand 1, not 0. Add a simple | Dan Gohman | 2009-02-24 | 1 | -1/+1 | |
| | | | | | | | ashr instcombine to help expose this code. And apply the fix to SelectionDAG's copy of this code too. llvm-svn: 65364 | |||||
* | Eliminate use of uint32_t to improve compatibility with cygwin | Chris Lattner | 2009-01-20 | 1 | -6/+6 | |
| | | | | llvm-svn: 62590 | |||||
* | Rename getABITypeSize to getTypePaddedSize, as | Duncan Sands | 2009-01-12 | 1 | -1/+1 | |
| | | | | | | suggested by Chris. llvm-svn: 62099 | |||||
* | ValueTracker can't assume that an alloca with no specified alignment | Chris Lattner | 2009-01-08 | 1 | -1/+1 | |
| | | | | | | | | will get its preferred alignment. It has to be careful and cautiously assume it will just get the ABI alignment. This prevents instcombine from rounding up the alignment of a load/store without adjusting the alignment of the alloca. llvm-svn: 61934 |