diff options
author | Bill Wendling <isanbard@gmail.com> | 2007-12-07 21:42:31 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2007-12-07 21:42:31 +0000 |
commit | 0f940c95d4506f8d04fa2aeda8a79cadb3105fe3 (patch) | |
tree | 8e87e91a393dc4f8d9ceac9ee8cea7b5bf12e6a3 /include/llvm/CodeGen | |
parent | 779ccea5b624eae7f2440444e342339aa372f42c (diff) | |
download | external_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.h | 4 |
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 |