Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Change uses of Function::front to Function::getEntryBlock for readability. | Dan Gohman | 2007-03-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 35265 | |||||
* | Now LICM is a LoopPass. | Devang Patel | 2007-03-07 | 1 | -30/+26 | |
| | | | | llvm-svn: 35001 | |||||
* | Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in | Reid Spencer | 2007-02-05 | 1 | -2/+3 | |
| | | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939 | |||||
* | Changes to support making the shift instructions be true BinaryOperators. | Reid Spencer | 2007-02-02 | 1 | -1/+1 | |
| | | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. llvm-svn: 33776 | |||||
* | Adjust #includes to match movement of constant folding code from ↵ | Chris Lattner | 2007-01-30 | 1 | -1/+1 | |
| | | | | | | transformutils to libanalysis. llvm-svn: 33680 | |||||
* | For PR950: | Reid Spencer | 2006-12-23 | 1 | -1/+1 | |
| | | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751 | |||||
* | Switch over Transforms/Scalar to use the STATISTIC macro. For each statistic | Chris Lattner | 2006-12-19 | 1 | -7/+6 | |
| | | | | | | | converted, we lose a static initializer. This also allows GCC to emit warnings about unused statistics. llvm-svn: 32690 | |||||
* | Detemplatize the Statistic class. The only type it is instantiated with | Chris Lattner | 2006-12-06 | 1 | -5/+5 | |
| | | | | | | is 'unsigned'. llvm-svn: 32279 | |||||
* | For PR950: | Reid Spencer | 2006-11-27 | 1 | -0/+1 | |
| | | | | | | | | | | The long awaited CAST patch. This introduces 12 new instructions into LLVM to replace the cast instruction. Corresponding changes throughout LLVM are provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the exception of 175.vpr which fails only on a slight floating point output difference. llvm-svn: 31931 | |||||
* | Removed #include <iostream> and replaced with llvm_* streams. | Bill Wendling | 2006-11-26 | 1 | -5/+3 | |
| | | | | llvm-svn: 31923 | |||||
* | An sinkable instruction may exist with uses, if those uses are in dead blocks. | Chris Lattner | 2006-09-12 | 1 | -0/+4 | |
| | | | | | | Handle this. This fixes PR908 and Transforms/LICM/2006-09-12-DeadUserOfSunkInstr.ll llvm-svn: 30275 | |||||
* | eliminate RegisterOpt. It does the same thing as RegisterPass. | Chris Lattner | 2006-08-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 29925 | |||||
* | random code cleanups, no functionality change | Chris Lattner | 2006-06-26 | 1 | -9/+8 | |
| | | | | llvm-svn: 28914 | |||||
* | Make iostream #inclusion explicit | Chris Lattner | 2006-01-22 | 1 | -0/+1 | |
| | | | | llvm-svn: 25514 | |||||
* | prevent va_arg from being hoisted from a loop | Andrew Lenharth | 2005-06-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 22265 | |||||
* | core changes for varargs | Andrew Lenharth | 2005-06-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 22254 | |||||
* | Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -26/+26 | |
| | | | | llvm-svn: 21427 | |||||
* | Fix a bug where LICM was not updating AA information properly when sinking | Chris Lattner | 2005-03-25 | 1 | -1/+2 | |
| | | | | | | a pointer value out of a loop causing it to be duplicated. llvm-svn: 20828 | |||||
* | enable -debug-only=licm | Chris Lattner | 2005-03-23 | 1 | -0/+1 | |
| | | | | llvm-svn: 20788 | |||||
* | Adjust to new interfaces | Chris Lattner | 2004-12-15 | 1 | -2/+3 | |
| | | | | llvm-svn: 18958 | |||||
* | Allow hoisting loads of globals and alloca's in conditionals. | Chris Lattner | 2004-11-29 | 1 | -0/+6 | |
| | | | | llvm-svn: 18363 | |||||
* | Provide size information when checking to see if we can LICM a load, this | Chris Lattner | 2004-11-26 | 1 | -3/+6 | |
| | | | | | | allows us to hoist more loads in some cases. llvm-svn: 18265 | |||||
* | Fix a bug in the previous checkin that broke 255.vortex | Chris Lattner | 2004-09-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 16355 | |||||
* | Make sure to update alias analysis information as we transform the function. | Chris Lattner | 2004-09-15 | 1 | -21/+57 | |
| | | | | | | This fixes PR420 and Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx llvm-svn: 16348 | |||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -3/+3 | |
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137 | |||||
* | Fix hoisting of void typed values, e.g. calls | Chris Lattner | 2004-07-27 | 1 | -7/+13 | |
| | | | | llvm-svn: 15263 | |||||
* | Now that dominator tree children are built in determinstic order, this ↵ | Chris Lattner | 2004-06-19 | 1 | -16/+2 | |
| | | | | | | | | horrible code can go away llvm-svn: 14254 | |||||
* | Fix one source of nondeterminism in the -licm pass: the hoist pass | Chris Lattner | 2004-06-19 | 1 | -2/+16 | |
| | | | | | | | was processing blocks in whatever order they happened to end up in the dominator tree data structure. Force an ordering. llvm-svn: 14248 | |||||
* | Fix typo in DEBUG printout. | Brian Gaeke | 2004-06-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 14196 | |||||
* | Adjust to the changes in the AliasSetTracker interface | Chris Lattner | 2004-05-23 | 1 | -16/+14 | |
| | | | | llvm-svn: 13690 | |||||
* | Move isLoopInvariant to the Loop class | Chris Lattner | 2004-04-18 | 1 | -10/+2 | |
| | | | | llvm-svn: 13051 | |||||
* | Loop exit sets are no longer explicitly held, they are dynamically computed ↵ | Chris Lattner | 2004-04-18 | 1 | -3/+6 | |
| | | | | | | on demand. llvm-svn: 13046 | |||||
* | Implement LICM of calls in simple cases. This is sufficient to move around | Chris Lattner | 2004-03-15 | 1 | -1/+31 | |
| | | | | | | | | sin/cos/strlen calls and stuff. This implements: LICM/call_sink_pure_function.ll LICM/call_sink_const_function.ll llvm-svn: 12415 | |||||
* | Update comment | Chris Lattner | 2004-02-02 | 1 | -1/+1 | |
| | | | | llvm-svn: 11082 | |||||
* | Improve encapsulation in the Loop and LoopInfo classes by eliminating the | Chris Lattner | 2004-01-08 | 1 | -7/+4 | |
| | | | | | | | getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. llvm-svn: 10714 | |||||
* | Remove the wierd "Operands" loop, by traversing basicblocks in reverse order | Chris Lattner | 2003-12-19 | 1 | -14/+14 | |
| | | | | llvm-svn: 10536 | |||||
* | Implement LICM/sink_multiple.ll, by sinking all possible instructions in the | Chris Lattner | 2003-12-19 | 1 | -20/+55 | |
| | | | | | | loop before hoisting any. llvm-svn: 10534 | |||||
* | When we delete instructions from the loop, make sure to remove them from the | Chris Lattner | 2003-12-18 | 1 | -0/+2 | |
| | | | | | | AliasSetTracker as well. llvm-svn: 10507 | |||||
* | Do not promote volatile alias sets into registers | Chris Lattner | 2003-12-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 10458 | |||||
* | Fix LICM/2003-12-11-SinkingToPHI.ll, and quite possibly all of the other ↵ | Chris Lattner | 2003-12-11 | 1 | -2/+11 | |
| | | | | | | known problems in the universe. llvm-svn: 10409 | |||||
* | Fix bug: LICM/sink_multiple_exits.ll | Chris Lattner | 2003-12-10 | 1 | -1/+1 | |
| | | | | | | Thanks for pointing this out John :) llvm-svn: 10387 | |||||
* | Don't allow dead instructions to stop sinking early. | Chris Lattner | 2003-12-10 | 1 | -10/+9 | |
| | | | | llvm-svn: 10386 | |||||
* | Simplify code | Chris Lattner | 2003-12-10 | 1 | -6/+1 | |
| | | | | llvm-svn: 10371 | |||||
* | Avoid performing two identical lookups when one will suffice | Chris Lattner | 2003-12-10 | 1 | -3/+1 | |
| | | | | llvm-svn: 10370 | |||||
* | Make LICM itself a bit more efficient, and make the generated code more ↵ | Chris Lattner | 2003-12-10 | 1 | -21/+26 | |
| | | | | | | efficient too: don't insert a store in every exit block, because a particular block may be exited to more than once by a loop llvm-svn: 10369 | |||||
* | Implement instruction sinking out of loops. This still can do a little bit | Chris Lattner | 2003-12-10 | 1 | -61/+246 | |
| | | | | | | | better job, but this is the majority of the work. This implements LICM/sink*.ll llvm-svn: 10358 | |||||
* | Refactor code a little bit, eliminating the gratuitous InstVisitor, which | Chris Lattner | 2003-12-09 | 1 | -41/+43 | |
| | | | | | | | should make subsequent changes simpler. This also allows us to hoist vaarg and vanext instructions llvm-svn: 10342 | |||||
* | Fine grainify namespacification | Chris Lattner | 2003-12-09 | 1 | -36/+48 | |
| | | | | | | | Code cleanups Make LICM::SafeToHoist marginally more efficient llvm-svn: 10341 | |||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 1 | -0/+4 | |
| | | | | llvm-svn: 9903 | |||||
* | Declare FunctionPasses as such so that they can be used in FunctionPassManager. | Misha Brukman | 2003-11-07 | 1 | -1/+1 | |
| | | | | llvm-svn: 9768 |