Add a new pass for doing late hoisting of floating-point and vector
authorDan Gohman <gohman@apple.com>
Wed, 16 Sep 2009 20:25:11 +0000 (20:25 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 16 Sep 2009 20:25:11 +0000 (20:25 +0000)
commit6f65d79750154c92c3e184c8cf3233a66c411c87
tree79c6848aa3916edeb9af047f34f8fa5108634204
parent43215788d5d79a0a336ca85442d7c8a45552dd7a
Add a new pass for doing late hoisting of floating-point and vector
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82076 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/LinkAllPasses.h
include/llvm/Transforms/Scalar.h
lib/CodeGen/LLVMTargetMachine.cpp
lib/Transforms/Scalar/CodeGenLICM.cpp [new file with mode: 0644]