summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/CodeGenLICM.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove CodeGenLICM. It's largely obsoleted by MachineLICM's new abilityDan Gohman2009-10-311-112/+0
| | | | | | to unfold loop-invariant loads. llvm-svn: 85657
* Add a form of addPreserved which takes a string argument, to allow passesDan Gohman2009-10-081-4/+4
| | | | | | | | to declare that they preserve other passes without needing to pull in additional header file or library dependencies. Convert MachineFunctionPass and CodeGenLICM to make use of this. llvm-svn: 83555
* Nick pointed out that DominanceFrontier and DominanceTree are preservedDan Gohman2009-09-211-2/+0
| | | | | | by setPreservesCFG(). llvm-svn: 82463
* Remove the special-case for constants in PHI nodes; it's not reallyDan Gohman2009-09-211-3/+0
| | | | | | | helpful, and it didn't correctly handle the case of constants input to PHIs for backedges. llvm-svn: 82462
* Add a new pass for doing late hoisting of floating-point and vectorDan Gohman2009-09-161-0/+117
constants out of loops. These aren't covered by the regular LICM pass, because in LLVM IR constants don't require separate instructions. They're not always covered by the MachineLICM pass either, because it doesn't know how to unfold folded constant-pool loads. This is somewhat experimental at this point, and off by default. llvm-svn: 82076
OpenPOWER on IntegriCloud