llvm-6502/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll
Bill Wendling d36d03bf2d 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
2006-08-21 07:33:33 +00:00

16 lines
535 B
LLVM

; 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
}