summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LICM.cpp
Commit message (Collapse)AuthorAgeFilesLines
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29925
* random code cleanups, no functionality changeChris Lattner2006-06-261-9/+8
| | | | llvm-svn: 28914
* Make iostream #inclusion explicitChris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25514
* prevent va_arg from being hoisted from a loopAndrew Lenharth2005-06-201-1/+1
| | | | llvm-svn: 22265
* core changes for varargsAndrew Lenharth2005-06-181-1/+1
| | | | llvm-svn: 22254
* Remove trailing whitespaceMisha Brukman2005-04-211-26/+26
| | | | llvm-svn: 21427
* Fix a bug where LICM was not updating AA information properly when sinkingChris Lattner2005-03-251-1/+2
| | | | | | a pointer value out of a loop causing it to be duplicated. llvm-svn: 20828
* enable -debug-only=licmChris Lattner2005-03-231-0/+1
| | | | llvm-svn: 20788
* Adjust to new interfacesChris Lattner2004-12-151-2/+3
| | | | llvm-svn: 18958
* Allow hoisting loads of globals and alloca's in conditionals.Chris Lattner2004-11-291-0/+6
| | | | llvm-svn: 18363
* Provide size information when checking to see if we can LICM a load, thisChris Lattner2004-11-261-3/+6
| | | | | | allows us to hoist more loads in some cases. llvm-svn: 18265
* Fix a bug in the previous checkin that broke 255.vortexChris Lattner2004-09-151-1/+1
| | | | llvm-svn: 16355
* Make sure to update alias analysis information as we transform the function.Chris Lattner2004-09-151-21/+57
| | | | | | This fixes PR420 and Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx llvm-svn: 16348
* Changes For Bug 352Reid Spencer2004-09-011-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. callsChris Lattner2004-07-271-7/+13
| | | | llvm-svn: 15263
* Now that dominator tree children are built in determinstic order, this ↵Chris Lattner2004-06-191-16/+2
| | | | | | | | horrible code can go away llvm-svn: 14254
* Fix one source of nondeterminism in the -licm pass: the hoist passChris Lattner2004-06-191-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 Gaeke2004-06-171-1/+1
| | | | llvm-svn: 14196
* Adjust to the changes in the AliasSetTracker interfaceChris Lattner2004-05-231-16/+14
| | | | llvm-svn: 13690
* Move isLoopInvariant to the Loop classChris Lattner2004-04-181-10/+2
| | | | llvm-svn: 13051
* Loop exit sets are no longer explicitly held, they are dynamically computed ↵Chris Lattner2004-04-181-3/+6
| | | | | | on demand. llvm-svn: 13046
* Implement LICM of calls in simple cases. This is sufficient to move aroundChris Lattner2004-03-151-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 commentChris Lattner2004-02-021-1/+1
| | | | llvm-svn: 11082
* Improve encapsulation in the Loop and LoopInfo classes by eliminating theChris Lattner2004-01-081-7/+4
| | | | | | | getSubLoops/getTopLevelLoops methods, replacing them with iterator-based accessors. llvm-svn: 10714
* Remove the wierd "Operands" loop, by traversing basicblocks in reverse orderChris Lattner2003-12-191-14/+14
| | | | llvm-svn: 10536
* Implement LICM/sink_multiple.ll, by sinking all possible instructions in theChris Lattner2003-12-191-20/+55
| | | | | | loop before hoisting any. llvm-svn: 10534
* When we delete instructions from the loop, make sure to remove them from theChris Lattner2003-12-181-0/+2
| | | | | | AliasSetTracker as well. llvm-svn: 10507
* Do not promote volatile alias sets into registersChris Lattner2003-12-141-1/+1
| | | | llvm-svn: 10458
* Fix LICM/2003-12-11-SinkingToPHI.ll, and quite possibly all of the other ↵Chris Lattner2003-12-111-2/+11
| | | | | | known problems in the universe. llvm-svn: 10409
* Fix bug: LICM/sink_multiple_exits.llChris Lattner2003-12-101-1/+1
| | | | | | Thanks for pointing this out John :) llvm-svn: 10387
* Don't allow dead instructions to stop sinking early.Chris Lattner2003-12-101-10/+9
| | | | llvm-svn: 10386
* Simplify codeChris Lattner2003-12-101-6/+1
| | | | llvm-svn: 10371
* Avoid performing two identical lookups when one will sufficeChris Lattner2003-12-101-3/+1
| | | | llvm-svn: 10370
* Make LICM itself a bit more efficient, and make the generated code more ↵Chris Lattner2003-12-101-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 bitChris Lattner2003-12-101-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, whichChris Lattner2003-12-091-41/+43
| | | | | | | should make subsequent changes simpler. This also allows us to hoist vaarg and vanext instructions llvm-svn: 10342
* Fine grainify namespacificationChris Lattner2003-12-091-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 Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Declare FunctionPasses as such so that they can be used in FunctionPassManager.Misha Brukman2003-11-071-1/+1
| | | | llvm-svn: 9768
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Wrap code at 80 columnsChris Lattner2003-10-131-6/+10
| | | | llvm-svn: 9073
* Rename loop preheaders pass to loop simplifyChris Lattner2003-10-121-1/+1
| | | | llvm-svn: 9061
* Fix spelling.Misha Brukman2003-10-101-2/+2
| | | | llvm-svn: 9027
* Change the interface to PromoteMemToReg to also take a DominatorTreeChris Lattner2003-10-051-2/+3
| | | | llvm-svn: 8883
* Renamed DominatorTree::Node::getNode() -> getBlock()Chris Lattner2003-09-111-4/+4
| | | | llvm-svn: 8469
* Spell `definite' correctly.Misha Brukman2003-09-111-2/+2
| | | | llvm-svn: 8467
* Fix spell-o'sChris Lattner2003-09-101-1/+1
| | | | llvm-svn: 8431
* Do not hoist volatile loadsChris Lattner2003-09-081-1/+1
| | | | llvm-svn: 8399
* Fixed minor bug in SafeToHoist and made some changes suggested by Chris.Tanya Lattner2003-08-051-19/+10
| | | | llvm-svn: 7614
* Fixed LICM bug that hoists trapping instructions that are not guaranteed to ↵Tanya Lattner2003-08-051-5/+59
| | | | | | execute. llvm-svn: 7612
OpenPOWER on IntegriCloud