diff options
author | Dale Johannesen <dalej@apple.com> | 2010-08-17 22:17:24 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2010-08-17 22:17:24 +0000 |
commit | 6cf64a631a1522c137a1fcf88858ea1336822abf (patch) | |
tree | 40ac27e47bb146753255b6fb2eaa10e47a8a33b1 /test/CodeGen/X86/pr7882.ll | |
parent | 5dad73cec84d24a237c2c0444768cc7c492497d4 (diff) |
Make fast scheduler handle asm clobbers correctly.
PR 7882. Follows suggestion by Amaury Pouly, thanks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111306 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/pr7882.ll')
-rw-r--r-- | test/CodeGen/X86/pr7882.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/CodeGen/X86/pr7882.ll b/test/CodeGen/X86/pr7882.ll new file mode 100644 index 0000000000..88404dbe12 --- /dev/null +++ b/test/CodeGen/X86/pr7882.ll @@ -0,0 +1,17 @@ +; RUN: llc < %s -march=x86 -mtriple=i686-apple-darwin -pre-RA-sched=fast \ +; RUN: | FileCheck %s +; make sure scheduler honors the flags clobber. PR 7882. + +define i32 @main(i32 %argc, i8** %argv) nounwind +{ +entry: +; CHECK: InlineAsm End +; CHECK: cmpl + %res = icmp slt i32 1, %argc + %tmp = call i32 asm sideeffect alignstack + "push $$0 + popf + mov $$13, $0", "=r,r,~{memory},~{flags}" (i1 %res) + %ret = select i1 %res, i32 %tmp, i32 42 + ret i32 %ret +} |