diff options
author | Bill Wendling <isanbard@gmail.com> | 2006-08-21 07:33:33 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2006-08-21 07:33:33 +0000 |
commit | d36d03bf2daec79a364f32aba4f4a672c814c1bd (patch) | |
tree | fb79ec73a3da33131662a6b1c8352e02919b21b8 /test/CodeGen/X86/2006-08-21-ExtraMovInst.ll | |
parent | 8ea5ecb0564b8822c70ad84202471f03e2690da7 (diff) | |
download | llvm-d36d03bf2daec79a364f32aba4f4a672c814c1bd.tar.gz llvm-d36d03bf2daec79a364f32aba4f4a672c814c1bd.tar.bz2 llvm-d36d03bf2daec79a364f32aba4f4a672c814c1bd.tar.xz |
Added a check so that if we have two machine instructions in this form
MOV R0, R1
MOV R1, R0
the second machine instruction is removed. Added a regression test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29792 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/2006-08-21-ExtraMovInst.ll')
-rw-r--r-- | test/CodeGen/X86/2006-08-21-ExtraMovInst.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll b/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll new file mode 100644 index 0000000000..29c08611b0 --- /dev/null +++ b/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll @@ -0,0 +1,15 @@ +; RUN: llvm-as < %s | llc -fast -march=x86 -mcpu=i386 | not grep 'movl %eax, %edx' + +int %foo(int %t, int %C) { +entry: + br label %cond_true + +cond_true: ; preds = %cond_true, %entry + %t_addr.0.0 = phi int [ %t, %entry ], [ %tmp7, %cond_true ] ; <int> [#uses=2] + %tmp7 = add int %t_addr.0.0, 1 ; <int> [#uses=1] + %tmp = setgt int %C, 39 ; <bool> [#uses=1] + br bool %tmp, label %bb12, label %cond_true + +bb12: ; preds = %cond_true + ret int %t_addr.0.0 +} |