[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / X86 / branchfolding-undef.mir
blob66d0cb5152e0770a5ef02b4a1d1c26631cd494c2
1 # RUN: llc -o - %s -mtriple=i686-- -run-pass branch-folder | FileCheck %s
2 # Test that tail merging drops undef flags that aren't present on all
3 # instructions to be merged.
4 --- |
5   define void @func() { ret void }
6 ...
7 ---
8 # CHECK-LABEL: name: func
9 # CHECK: bb.1:
10 # CHECK: $eax = MOV32ri 2
11 # CHECK-NOT: RET
12 # CHECK: bb.2:
13 # CHECK-NOT: RET 0, undef $eax
14 # CHECK: RET 0, $eax
15 name: func
16 tracksRegLiveness: true
17 body: |
18   bb.0:
19     JCC_1 %bb.1, 4, implicit undef $eflags
20     JMP_1 %bb.2
22   bb.1:
23     $eax = MOV32ri 2
24     RET 0, $eax
26   bb.2:
27     RET 0, undef $eax
28 ...