Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix another iterator invalidation that caused a *really* nasty ↵ | Owen Anderson | 2010-08-16 | 1 | -6/+7 |
| | | | | | | miscompilation in 403.gcc. llvm-svn: 111210 | ||||
* | Make dumpPassStructure be a PMDataManager abstraction, rather than | Dan Gohman | 2010-08-16 | 2 | -2/+2 |
| | | | | | | | | | | a Pass abstraction, since that's the level it's actually used at. Rename Pass' dumpPassStructure to dumpPass. This eliminates an awkward use of getAsPass() to convert a PMDataManager* into a Pass* just to permit a dumpPassStructure call. llvm-svn: 111199 | ||||
* | To create a copy of a SmallVector with an element removed from the | Dan Gohman | 2010-08-16 | 1 | -6/+7 |
| | | | | | | | | | middle, copy the elements in two groups, rather than copying all the elements and then doing an erase on the middle of the result. These are SmallVectors, so we shouldn't expect to hit dynamic allocation in the common case. llvm-svn: 111151 | ||||
* | Tidy whitespace. | Dan Gohman | 2010-08-16 | 1 | -5/+4 |
| | | | | llvm-svn: 111147 | ||||
* | Add a comment. | Dan Gohman | 2010-08-16 | 1 | -0/+5 |
| | | | | llvm-svn: 111145 | ||||
* | Use const_iterator in a few places. | Dan Gohman | 2010-08-16 | 1 | -3/+3 |
| | | | | llvm-svn: 111144 | ||||
* | Use iterators instead of indices in a few more places. | Dan Gohman | 2010-08-16 | 1 | -6/+9 |
| | | | | llvm-svn: 111143 | ||||
* | Micro-optimize SCEVConstant comparison. | Dan Gohman | 2010-08-16 | 1 | -4/+4 |
| | | | | llvm-svn: 111142 | ||||
* | Move SCEVNAryExpr's virtual member functions out of line, and convert | Dan Gohman | 2010-08-16 | 1 | -0/+33 |
| | | | | | | them to iterators. llvm-svn: 111140 | ||||
* | Use iterators instead of indices in simple cases. | Dan Gohman | 2010-08-16 | 1 | -6/+4 |
| | | | | llvm-svn: 111138 | ||||
* | Avoid gratuitous inefficiency in ifndef NDEBUG code. | Dan Gohman | 2010-08-16 | 1 | -8/+8 |
| | | | | llvm-svn: 111137 | ||||
* | Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one | Dan Gohman | 2010-08-16 | 1 | -6/+31 |
| | | | | | | for each add instruction. Ditto for Mul. llvm-svn: 111136 | ||||
* | Delete an unused function. | Dan Gohman | 2010-08-16 | 1 | -35/+0 |
| | | | | llvm-svn: 111135 | ||||
* | Revert r111058, the lint check for indirectbr successors that aren't | Dan Gohman | 2010-08-16 | 1 | -6/+0 |
| | | | | | | | address-taken. This can occur normally, if the code which took the address got DCEd. llvm-svn: 111121 | ||||
* | Revert r111082. No warnings for this common pattern. | Argyrios Kyrtzidis | 2010-08-15 | 1 | -1/+1 |
| | | | | llvm-svn: 111102 | ||||
* | Add ATTRIBUTE_UNUSED to methods that are not supposed to be used. | Argyrios Kyrtzidis | 2010-08-14 | 1 | -1/+1 |
| | | | | llvm-svn: 111082 | ||||
* | Add a lint check for an indirectbr destination which has not | Dan Gohman | 2010-08-13 | 1 | -0/+6 |
| | | | | | | had its address taken. llvm-svn: 111058 | ||||
* | Various optimizations. Don't compare two loops' depths | Dan Gohman | 2010-08-13 | 1 | -18/+26 |
| | | | | | | | when they are the same loop. Don't compare two instructions' loop depths when they are in the same block. llvm-svn: 111045 | ||||
* | When testing whether one loop contains another, test this directly | Dan Gohman | 2010-08-13 | 1 | -2/+2 |
| | | | | | | rather than testing whether the loop contains the other's header. llvm-svn: 111039 | ||||
* | Add a const. | Dan Gohman | 2010-08-13 | 1 | -1/+1 |
| | | | | llvm-svn: 111038 | ||||
* | When creating a symmetric SCEV with a constant operand, put | Dan Gohman | 2010-08-13 | 1 | -4/+4 |
| | | | | | | | the constant operand on the left, as that's where ScalarEvolution will end up canonicalizing to. llvm-svn: 111037 | ||||
* | An add recurrence is loop-invariant in any loop inside of its | Dan Gohman | 2010-08-13 | 1 | -0/+4 |
| | | | | | | | associated loop. This avoids potentially expensive traversals of the add recurrence's operands. llvm-svn: 111034 | ||||
* | Optimize ScalarEvolution::getAddExpr's operand factoring code by | Dan Gohman | 2010-08-12 | 1 | -4/+7 |
| | | | | | | | | having it finish processing all of the muliply operands before starting the whole getAddExpr process over again, instead of immediately after the first simplification. llvm-svn: 110916 | ||||
* | Hoist some loop-invariant code out of a hot loop. | Dan Gohman | 2010-08-12 | 1 | -2/+4 |
| | | | | llvm-svn: 110915 | ||||
* | Optimize ScalarEvolution::getAddExpr's duplicate operand detection | Dan Gohman | 2010-08-12 | 1 | -3/+7 |
| | | | | | | | | by having it finish processing the whole operand list before starting the whole getAddExpr process over again, instead of immediately after the first duplicate is found. llvm-svn: 110914 | ||||
* | Even if a variable has constant value all the time, it is still a variable ↵ | Devang Patel | 2010-08-11 | 1 | -1/+1 |
| | | | | | | | | in gdb's eyes. Tested by scope.exp in gdb testsuite. llvm-svn: 110876 | ||||
* | Fix a subtle use-after-free issue. | Owen Anderson | 2010-08-11 | 1 | -1/+4 |
| | | | | llvm-svn: 110863 | ||||
* | Make LoopPass::getContainedPass return a LoopPass* instead of a Pass* | Dan Gohman | 2010-08-11 | 1 | -5/+5 |
| | | | | | | and remove casts from all its callers. llvm-svn: 110848 | ||||
* | Improve indentation. | Owen Anderson | 2010-08-11 | 1 | -27/+28 |
| | | | | llvm-svn: 110778 | ||||
* | When analyzing loop exit conditions combined with and and or, don't | Dan Gohman | 2010-08-11 | 1 | -14/+12 |
| | | | | | | | make any assumptions about when the two conditions will agree on when to permit the loop to exit. This fixes PR7845. llvm-svn: 110758 | ||||
* | Rename and reorder the arguments to isImpliedCond, for consistency and clarity. | Dan Gohman | 2010-08-10 | 1 | -10/+12 |
| | | | | llvm-svn: 110750 | ||||
* | Now that we're using ConstantRange to represent potential values, make use ↵ | Owen Anderson | 2010-08-10 | 1 | -8/+35 |
| | | | | | | | | of that represenation to create constraints from comparisons other than eq/neq. llvm-svn: 110742 | ||||
* | Add missing argument. CreateCompositeTypeEx() users, please verify. | Devang Patel | 2010-08-10 | 1 | -4/+5 |
| | | | | llvm-svn: 110717 | ||||
* | Switch over to using ConstantRange to track integral values. | Owen Anderson | 2010-08-10 | 1 | -7/+44 |
| | | | | llvm-svn: 110714 | ||||
* | Do not forget debug info for enums. Use named mdnode to keep track of these ↵ | Devang Patel | 2010-08-10 | 1 | -2/+15 |
| | | | | | | types. llvm-svn: 110712 | ||||
* | RegionInfo: Do not assert if a BB is not part of the dominance tree. | Tobias Grosser | 2010-08-10 | 1 | -2/+4 |
| | | | | llvm-svn: 110665 | ||||
* | Handle TAG_constant for integers. | Devang Patel | 2010-08-10 | 1 | -2/+3 |
| | | | | llvm-svn: 110656 | ||||
* | Refactor. | Devang Patel | 2010-08-09 | 1 | -1/+42 |
| | | | | llvm-svn: 110607 | ||||
* | Add ConstantRange information to the debugging output. | Owen Anderson | 2010-08-09 | 1 | -0/+3 |
| | | | | llvm-svn: 110598 | ||||
* | Reapply r110396, with fixes to appease the Linux buildbot gods. | Owen Anderson | 2010-08-06 | 29 | -75/+75 |
| | | | | llvm-svn: 110460 | ||||
* | Implement a proper getModRefInfo for va_arg. | Dan Gohman | 2010-08-06 | 1 | -0/+17 |
| | | | | llvm-svn: 110458 | ||||
* | Be more conservative in the face of volatile. | Dan Gohman | 2010-08-06 | 1 | -8/+8 |
| | | | | llvm-svn: 110456 | ||||
* | Fix a comment. | Dan Gohman | 2010-08-06 | 1 | -2/+2 |
| | | | | llvm-svn: 110455 | ||||
* | Move all the logic for function attributes and call attributes out of the | Dan Gohman | 2010-08-06 | 2 | -179/+238 |
| | | | | | | | | | | | | | AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion about where such logic is happening when there are other AliasAnalysis implementations present. Move the logic for translating two-callsite getModRefInfo queries into other AliasAnalysis queries out of BasicAliasAnalysis and into the AliasAnalysis base class, as it is useful for other AliasAnalysis implementations. llvm-svn: 110421 | ||||
* | Fix botched revert. | Owen Anderson | 2010-08-06 | 1 | -4/+4 |
| | | | | llvm-svn: 110416 | ||||
* | Revert r110396 to fix buildbots. | Owen Anderson | 2010-08-06 | 29 | -71/+71 |
| | | | | llvm-svn: 110410 | ||||
* | Fix 80-column violations. | Dan Gohman | 2010-08-05 | 1 | -6/+6 |
| | | | | llvm-svn: 110401 | ||||
* | Don't use PassInfo* as a type identifier for passes. Instead, use the ↵ | Owen Anderson | 2010-08-05 | 29 | -75/+75 |
| | | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396 | ||||
* | Implement AccessesArguments checking in the two-callsite form | Dan Gohman | 2010-08-05 | 1 | -2/+32 |
| | | | | | | | of BasicAA::getModRefInfo. This allows BasicAA to say that two memset calls to non-aliasing memory locations don't interfere. llvm-svn: 110393 | ||||
* | Yes, we can do better, but this is not the place for it. | Dan Gohman | 2010-08-05 | 1 | -1/+0 |
| | | | | llvm-svn: 110391 |