Implement fast-isel conversion of a branch instruction that's branching on an

overflow/carry from the "arithmetic with overflow" intrinsics. It searches the
machine basic block from bottom to top to find the SETO/SETC instruction that is
its conditional. If an instruction modifies EFLAGS before it reaches the
SETO/SETC instruction, then it defaults to the normal instruction emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60807 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Bill Wendling
2008-12-09 23:19:12 +00:00
parent 54e4c36a73
commit 30a64a7649
2 changed files with 65 additions and 0 deletions

View File

@ -1,5 +1,7 @@
; RUN: llvm-as < %s | llc -march=x86 | grep {jo} | count 1
; RUN: llvm-as < %s | llc -march=x86 | grep {jc} | count 1
; RUN: llvm-as < %s | llc -march=x86 -fast | grep {jo} | count 1
; RUN: llvm-as < %s | llc -march=x86 -fast | grep {jc} | count 1
@ok = internal constant [4 x i8] c"%d\0A\00"
@no = internal constant [4 x i8] c"no\0A\00"