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 | b958b0d1b262bd2dd4da1d2ac4f1fad6b94f2a1c (patch) | |
| tree | 8e87e91a393dc4f8d9ceac9ee8cea7b5bf12e6a3 /include/llvm/CodeGen | |
| parent | a6769dff6e0f8ee6a610e603e4d79fbbc71fd877 (diff) | |
| download | external_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.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 |
