Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | MapValue support for MDNodes. This is similar to r109117, except | Dan Gohman | 2010-08-24 | 1 | -8/+27 | |
| | | | | | | | | that it avoids a lot of unnecessary cloning by avoiding remapping MDNode cycles when none of the nodes in the cycle actually need to be remapped. Also it uses the new temporary MDNode mechanism. llvm-svn: 111922 | |||||
* | Now that PassInfo and Pass::ID have been separated, move the rest of the ↵ | Owen Anderson | 2010-08-23 | 7 | -12/+14 | |
| | | | | | | passes over to the new registration API. llvm-svn: 111815 | |||||
* | fit in 80 cols | Chris Lattner | 2010-08-18 | 1 | -2/+3 | |
| | | | | llvm-svn: 111348 | |||||
* | remove some dead code. | Chris Lattner | 2010-08-18 | 2 | -12/+2 | |
| | | | | llvm-svn: 111344 | |||||
* | Use the getUniquePredecessor() utility function, instead of doing | Dan Gohman | 2010-08-17 | 1 | -15/+5 | |
| | | | | | | what it does manually. llvm-svn: 111248 | |||||
* | Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't | Dan Gohman | 2010-08-16 | 1 | -2/+1 | |
| | | | | | | actually use ScalarEvolution. llvm-svn: 111124 | |||||
* | Instead, teach SimplifyCFG to trim non-address-taken blocks from | Dan Gohman | 2010-08-16 | 1 | -2/+3 | |
| | | | | | | indirectbr destination lists. llvm-svn: 111122 | |||||
* | LoopSimplify shouldn't split loop backedges that use indirectbr. PR7867. | Dan Gohman | 2010-08-14 | 1 | -0/+5 | |
| | | | | llvm-svn: 111061 | |||||
* | Teach SimplifyCFG how to simplify indirectbr instructions. | Dan Gohman | 2010-08-14 | 2 | -13/+43 | |
| | | | | | | | | | | | - Eliminate redundant successors. - Convert an indirectbr with one successor into a direct branch. Also, generalize SimplifyCFG to be able to be run on a function entry block. It knows quite a few simplifications which are applicable to the entry block, and it only needs a few checks to avoid trouble with the entry block. llvm-svn: 111060 | |||||
* | Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg") | Dan Gohman | 2010-08-06 | 4 | -5/+3 | |
| | | | | | | instead, as an example of what this looks like. llvm-svn: 110478 | |||||
* | Reapply r110396, with fixes to appease the Linux buildbot gods. | Owen Anderson | 2010-08-06 | 8 | -15/+15 | |
| | | | | llvm-svn: 110460 | |||||
* | Revert r110396 to fix buildbots. | Owen Anderson | 2010-08-06 | 8 | -15/+15 | |
| | | | | llvm-svn: 110410 | |||||
* | Don't use PassInfo* as a type identifier for passes. Instead, use the ↵ | Owen Anderson | 2010-08-05 | 8 | -15/+15 | |
| | | | | | | | | address of the static ID member as the sole unique type identifier. Clean up APIs related to this change. llvm-svn: 110396 | |||||
* | simplify | Gabor Greif | 2010-07-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 109589 | |||||
* | simplify: CallSite::get --> CallSite constructor | Gabor Greif | 2010-07-27 | 1 | -4/+4 | |
| | | | | llvm-svn: 109506 | |||||
* | Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus | Dan Gohman | 2010-07-26 | 2 | -16/+6 | |
| | | | | | | | | | | | | | | dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier pass in StandardPasses.h to ensure that it gets scheduled at the right time. Declare that loop unrolling preserves ScalarEvolution, and shuffle some getAnalysisUsages. This eliminates one LoopSimplify and one LCCSA run in the standard compile opts sequence. llvm-svn: 109413 | |||||
* | Preserve ScalarEvolution in the loop unroller. | Dan Gohman | 2010-07-26 | 1 | -0/+6 | |
| | | | | llvm-svn: 109412 | |||||
* | Revert this because we can't clone cyclic MDNodes which are creating during a | Nick Lewycky | 2010-07-24 | 1 | -3/+4 | |
| | | | | | | build of llvm-gcc. llvm-svn: 109355 | |||||
* | Whether function-local or not, a MDNode may reference a Function in which case | Nick Lewycky | 2010-07-24 | 1 | -4/+3 | |
| | | | | | | | it needs to be mapped to refer to the function in the new module, not the old one. Fixes PR7700. llvm-svn: 109353 | |||||
* | Speculatively revert 109117 | Devang Patel | 2010-07-22 | 1 | -27/+6 | |
| | | | | llvm-svn: 109132 | |||||
* | keep in 80 cols | Gabor Greif | 2010-07-22 | 1 | -3/+4 | |
| | | | | llvm-svn: 109122 | |||||
* | Map MDNode correctly. | Devang Patel | 2010-07-22 | 1 | -6/+27 | |
| | | | | | | A non function local MDNode can have an operand which is cloned by MapValue(). llvm-svn: 109117 | |||||
* | mass elimination of reliance on automatic iterator dereferencing | Gabor Greif | 2010-07-22 | 2 | -3/+3 | |
| | | | | llvm-svn: 109103 | |||||
* | pass dereferenced iterator to dyn_cast | Gabor Greif | 2010-07-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 109098 | |||||
* | undo 80 column trespassing I caused | Gabor Greif | 2010-07-22 | 1 | -5/+6 | |
| | | | | llvm-svn: 109092 | |||||
* | Make NamedMDNode not be a subclass of Value, and simplify the interface | Dan Gohman | 2010-07-21 | 1 | -4/+2 | |
| | | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061 | |||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 2 | -5/+6 | |
| | | | | llvm-svn: 109045 | |||||
* | Use DebugLocs instead of MDNodes. | Dan Gohman | 2010-07-20 | 1 | -32/+27 | |
| | | | | llvm-svn: 108967 | |||||
* | Don't look up the "dbg" metadata kind by name. | Dan Gohman | 2010-07-20 | 2 | -12/+12 | |
| | | | | llvm-svn: 108961 | |||||
* | Reorder the contents of various getAnalysisUsage functions, eliminating | Dan Gohman | 2010-07-16 | 2 | -14/+17 | |
| | | | | | | a redundant loopsimplify run from the default -O2 sequence. llvm-svn: 108539 | |||||
* | eliminate CallInst::ArgOffset | Gabor Greif | 2010-07-16 | 1 | -5/+5 | |
| | | | | llvm-svn: 108522 | |||||
* | Remove unneeded check, and correct style. | Owen Anderson | 2010-07-15 | 1 | -3/+2 | |
| | | | | llvm-svn: 108427 | |||||
* | make various clients of ReplaceAndSimplifyAllUses tolerate | Chris Lattner | 2010-07-15 | 1 | -2/+3 | |
| | | | | | | | | it *changing* the things it replaces, not just causing them to drop to null. There is no functionality change yet, but this is required for a subsequent patch. llvm-svn: 108414 | |||||
* | Extend SimplifyCFG's common-destination folding heuristic to allow a single | Owen Anderson | 2010-07-14 | 1 | -5/+67 | |
| | | | | | | | | | | "bonus" instruction to be speculatively executed. Add a heuristic to ensure we're not tripping up out-of-order execution by checking that this bonus instruction only uses values that were already guaranteed to be available. This allows us to eliminate the short circuit in (x&1)&&(x&2). llvm-svn: 108351 | |||||
* | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 1 | -4/+6 | |
| | | | | llvm-svn: 108133 | |||||
* | cache dereferenced iterators | Gabor Greif | 2010-07-12 | 1 | -3/+5 | |
| | | | | llvm-svn: 108132 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | llvm-svn: 107984 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+4 | |
| | | | | llvm-svn: 107983 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | llvm-svn: 107981 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -4/+6 | |
| | | | | llvm-svn: 107975 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -2/+3 | |
| | | | | llvm-svn: 107974 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+4 | |
| | | | | llvm-svn: 107968 | |||||
* | cache result of operator* | Gabor Greif | 2010-07-09 | 1 | -3/+5 | |
| | | | | llvm-svn: 107966 | |||||
* | cache operator*'s result (in multiple functions) | Gabor Greif | 2010-07-09 | 1 | -15/+22 | |
| | | | | llvm-svn: 107965 | |||||
* | MDString is already checked earlier. | Devang Patel | 2010-07-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 107516 | |||||
* | lowerinvoke needs to handle aggregate function args like sjlj eh does. | Jim Grosbach | 2010-06-30 | 1 | -4/+4 | |
| | | | | llvm-svn: 107335 | |||||
* | use getArgOperand instead of getOperand | Gabor Greif | 2010-06-30 | 1 | -8/+8 | |
| | | | | llvm-svn: 107269 | |||||
* | use CallInst::ArgOffset | Gabor Greif | 2010-06-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 107003 | |||||
* | use ArgOperand API and CallInst::ArgOffset | Gabor Greif | 2010-06-28 | 1 | -17/+17 | |
| | | | | llvm-svn: 107002 | |||||
* | The hasMemory argument is irrelevant to how the argument | Dale Johannesen | 2010-06-25 | 1 | -2/+1 | |
| | | | | | | | | | for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893 |