aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2007-12-07 21:42:31 +0000
committerBill Wendling <isanbard@gmail.com>2007-12-07 21:42:31 +0000
commitb958b0d1b262bd2dd4da1d2ac4f1fad6b94f2a1c (patch)
tree8e87e91a393dc4f8d9ceac9ee8cea7b5bf12e6a3 /include/llvm/CodeGen
parenta6769dff6e0f8ee6a610e603e4d79fbbc71fd877 (diff)
downloadexternal_llvm-b958b0d1b262bd2dd4da1d2ac4f1fad6b94f2a1c.zip
external_llvm-b958b0d1b262bd2dd4da1d2ac4f1fad6b94f2a1c.tar.gz
external_llvm-b958b0d1b262bd2dd4da1d2ac4f1fad6b94f2a1c.tar.bz2
Initial commit of the machine code LICM pass. It successfully hoists this:
_foo: li r2, 0 LBB1_1: ; bb li r5, 0 stw r5, 0(r3) addi r2, r2, 1 addi r3, r3, 4 cmplw cr0, r2, r4 bne cr0, LBB1_1 ; bb LBB1_2: ; return blr to: _foo: li r2, 0 li r5, 0 LBB1_1: ; bb stw r5, 0(r3) addi r2, r2, 1 addi r3, r3, 4 cmplw cr0, r2, r4 bne cr0, LBB1_1 ; bb LBB1_2: ; return blr ZOMG!! :-) Moar to come... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44687 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r--include/llvm/CodeGen/Passes.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/Passes.h b/include/llvm/CodeGen/Passes.h
index 5e93525..f0aa508 100644
--- a/include/llvm/CodeGen/Passes.h
+++ b/include/llvm/CodeGen/Passes.h
@@ -135,6 +135,10 @@ namespace llvm {
/// for the Sparc.
FunctionPass *getRegisterAllocator(TargetMachine &T);
+ /// createMachineLICMPass - This pass performs LICM on machine instructions.
+ ///
+ FunctionPass *createMachineLICMPass();
+
} // End llvm namespace
#endif