diff options
| author | Akira Hatanaka <ahatanak@gmail.com> | 2011-06-24 17:55:19 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanak@gmail.com> | 2011-06-24 17:55:19 +0000 |
| commit | ca88b4abec7507384f77e7be3a49f4127e16cc7a (patch) | |
| tree | 5cf5c48732f4b8bb6f77025a8e99ab472b6e25cf /llvm/test/CodeGen/Mips/internalfunc.ll | |
| parent | 6c7b1853578f2dc11715c3882f1e4e150a8514e5 (diff) | |
| download | bcm5719-llvm-ca88b4abec7507384f77e7be3a49f4127e16cc7a.tar.gz bcm5719-llvm-ca88b4abec7507384f77e7be3a49f4127e16cc7a.zip | |
Prevent generation of redundant addiu instructions that compute address of
static variables or functions.
llvm-svn: 133803
Diffstat (limited to 'llvm/test/CodeGen/Mips/internalfunc.ll')
| -rw-r--r-- | llvm/test/CodeGen/Mips/internalfunc.ll | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/Mips/internalfunc.ll b/llvm/test/CodeGen/Mips/internalfunc.ll index 50d099385a6..c2a4e5cfc24 100644 --- a/llvm/test/CodeGen/Mips/internalfunc.ll +++ b/llvm/test/CodeGen/Mips/internalfunc.ll @@ -15,7 +15,7 @@ entry: define void @caller(i32 %a0, i32 %a1) nounwind { entry: ; CHECK: lw $[[R1:[0-9]+]], %got(caller.sf1)($gp) -; CHECK: addiu ${{[0-9]+}}, $[[R1]], %lo(caller.sf1) +; CHECK: lw $25, %lo(caller.sf1)($[[R1]]) %tobool = icmp eq i32 %a1, 0 br i1 %tobool, label %if.end, label %if.then @@ -26,9 +26,9 @@ if.then: ; preds = %entry if.end: ; preds = %entry, %if.then ; CHECK: lw $[[R2:[0-9]+]], %got(sf2)($gp) -; CHECK: lw $[[R3:[0-9]+]], %got(caller.sf1)($gp) ; CHECK: addiu ${{[0-9]+}}, $[[R2]], %lo(sf2) -; CHECK: addiu ${{[0-9]+}}, $[[R3]], %lo(caller.sf1) +; CHECK: lw $[[R3:[0-9]+]], %got(caller.sf1)($gp) +; CHECK: sw ${{[0-9]+}}, %lo(caller.sf1)($[[R3]]) %tobool3 = icmp ne i32 %a0, 0 %tmp4 = load void (...)** @gf1, align 4 %cond = select i1 %tobool3, void (...)* %tmp4, void (...)* bitcast (void ()* @sf2 to void (...)*) |

