|
12 | 12 |
|
13 | 13 | declare dso_local void @f1() local_unnamed_addr
|
14 | 14 | declare dso_local void @f2() local_unnamed_addr
|
15 |
| -define dso_local void @f0() local_unnamed_addr { |
| 15 | +define dso_local void @f0(i1 %c) local_unnamed_addr { |
16 | 16 | ; RV32IZCMP-LABEL: f0:
|
17 | 17 | ; RV32IZCMP: # %bb.0: # %entry
|
| 18 | +; RV32IZCMP-NEXT: andi a0, a0, 1 |
| 19 | +; RV32IZCMP-NEXT: beqz a0, .LBB0_2 |
| 20 | +; RV32IZCMP-NEXT: # %bb.1: # %if.T |
18 | 21 | ; RV32IZCMP-NEXT: cm.push {ra}, -16
|
19 | 22 | ; RV32IZCMP-NEXT: .cfi_def_cfa_offset 16
|
20 | 23 | ; RV32IZCMP-NEXT: .cfi_offset ra, -4
|
21 | 24 | ; RV32IZCMP-NEXT: call f1
|
22 | 25 | ; RV32IZCMP-NEXT: cm.pop {ra}, 16
|
23 | 26 | ; RV32IZCMP-NEXT: .cfi_restore ra
|
24 | 27 | ; RV32IZCMP-NEXT: .cfi_def_cfa_offset 0
|
| 28 | +; RV32IZCMP-NEXT: .LBB0_2: # %if.F |
25 | 29 | ; RV32IZCMP-NEXT: tail f2
|
26 | 30 | ;
|
27 | 31 | ; RV64IZCMP-LABEL: f0:
|
28 | 32 | ; RV64IZCMP: # %bb.0: # %entry
|
| 33 | +; RV64IZCMP-NEXT: andi a0, a0, 1 |
| 34 | +; RV64IZCMP-NEXT: beqz a0, .LBB0_2 |
| 35 | +; RV64IZCMP-NEXT: # %bb.1: # %if.T |
29 | 36 | ; RV64IZCMP-NEXT: cm.push {ra}, -16
|
30 | 37 | ; RV64IZCMP-NEXT: .cfi_def_cfa_offset 16
|
31 | 38 | ; RV64IZCMP-NEXT: .cfi_offset ra, -8
|
32 | 39 | ; RV64IZCMP-NEXT: call f1
|
33 | 40 | ; RV64IZCMP-NEXT: cm.pop {ra}, 16
|
34 | 41 | ; RV64IZCMP-NEXT: .cfi_restore ra
|
35 | 42 | ; RV64IZCMP-NEXT: .cfi_def_cfa_offset 0
|
| 43 | +; RV64IZCMP-NEXT: .LBB0_2: # %if.F |
36 | 44 | ; RV64IZCMP-NEXT: tail f2
|
37 | 45 |
|
38 | 46 | entry:
|
39 |
| - br i1 poison, label %if.T, label %if.F |
| 47 | + br i1 %c, label %if.T, label %if.F |
40 | 48 |
|
41 | 49 | if.T:
|
42 | 50 | tail call void @f1()
|
|
0 commit comments