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
commit0f940c95d4506f8d04fa2aeda8a79cadb3105fe3 (patch)
tree8e87e91a393dc4f8d9ceac9ee8cea7b5bf12e6a3 /include/llvm/CodeGen
parent779ccea5b624eae7f2440444e342339aa372f42c (diff)
downloadexternal_llvm-0f940c95d4506f8d04fa2aeda8a79cadb3105fe3.zip
external_llvm-0f940c95d4506f8d04fa2aeda8a79cadb3105fe3.tar.gz
external_llvm-0f940c95d4506f8d04fa2aeda8a79cadb3105fe3.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