Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / ARM / ifcvt_forked_diamond_unanalyzable.mir
blobce68feea865bc0f6a7e3e2501b99981e99427065
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=thumbv7-apple-ios -run-pass=if-converter %s -o - | FileCheck %s
4 # Forked-diamond testcase with unanalyzable instructions in both the True and
5 # False BBs following the forked diamond.
7 ---
8 name:            foo
9 body:             |
10   ; CHECK-LABEL: name: foo
11   ; CHECK: bb.0:
12   ; CHECK:   successors: %bb.2(0x20000000), %bb.1(0x60000000)
13   ; CHECK:   $sp = tADDspi $sp, 2, 1 /* CC::ne */, $cpsr
14   ; CHECK:   $sp = tADDspi $sp, 1, 0 /* CC::eq */, $cpsr, implicit $sp
15   ; CHECK:   t2Bcc %bb.2, 1 /* CC::ne */, $cpsr
16   ; CHECK: bb.1:
17   ; CHECK:   $sp = tADDspi $sp, 4, 14 /* CC::al */, $noreg
18   ; CHECK:   tBX_RET 14 /* CC::al */, $noreg
19   ; CHECK: bb.2:
20   ; CHECK:   $sp = tADDspi $sp, 3, 14 /* CC::al */, $noreg
21   ; CHECK:   tBX_RET 14 /* CC::al */, $noreg
22   bb.0:
23     tBcc %bb.2, 1, $cpsr
25   bb.1:
26   successors: %bb.3(0x20000000), %bb.4(0x60000000)
27     $sp = tADDspi $sp, 1, 14, _
28     tBcc %bb.3, 1, $cpsr
29     tB %bb.4, 14, $noreg
31   bb.2:
32   successors: %bb.3(0x20000000), %bb.4(0x60000000)
33     $sp = tADDspi $sp, 2, 14, _
34     tBcc %bb.3, 1, $cpsr
35     tB %bb.4, 14, $noreg
37   bb.3:
38   successors:
39     $sp = tADDspi $sp, 3, 14, _
40     tBX_RET 14, _
42   bb.4:
43   successors:
44     $sp = tADDspi $sp, 4, 14, _
45     tBX_RET 14, _
46 ...