Skip to content

Commit d05c6db

Browse files
[EVM] Update branch-folder-after-stackification.ll test
This test originally used select instructions to verify the impact of the BranchFolder pass after stackification. However, if selects are lowered to arithmetic operations, the intended coverage is lost. To ensure the test continues to validate the desired functionality, it now uses compare and branch instructions instead of selects. Signed-off-by: Vladimir Radosavljevic <[email protected]>
1 parent a9f80c0 commit d05c6db

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

llvm/test/CodeGen/EVM/branch-folder-after-stackification.ll

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,40 +6,51 @@ target triple = "evm"
66

77
define i256 @test(i256 %arg) {
88
; CHECK-LABEL: test:
9-
; CHECK: ; %bb.0:
9+
; CHECK: ; %bb.0: ; %entry
1010
; CHECK-NEXT: JUMPDEST
1111
; CHECK-NEXT: PUSH0
1212
; CHECK-NEXT: DUP2
1313
; CHECK-NEXT: SLT
14-
; CHECK-NEXT: ISZERO
1514
; CHECK-NEXT: PUSH4 @.BB0_2
1615
; CHECK-NEXT: JUMPI
1716
; CHECK-NEXT: ; %bb.1:
18-
; CHECK-NEXT: PUSH0
19-
; CHECK-NEXT: PUSH1 0xA
17+
; CHECK-NEXT: PUSH1 0x1
18+
; CHECK-NEXT: PUSH1 0x14
2019
; CHECK-NEXT: PUSH4 @.BB0_3
2120
; CHECK-NEXT: JUMP
22-
; CHECK-NEXT: .BB0_2:
21+
; CHECK-NEXT: .BB0_2: ; %bb1
2322
; CHECK-NEXT: JUMPDEST
24-
; CHECK-NEXT: PUSH0
25-
; CHECK-NEXT: PUSH1 0x14
26-
; CHECK-NEXT: .BB0_3:
23+
; CHECK-NEXT: PUSH1 0x1
24+
; CHECK-NEXT: PUSH1 0xA
25+
; CHECK-NEXT: .BB0_3: ; %bb2
2726
; CHECK-NEXT: JUMPDEST
2827
; CHECK-NEXT: SWAP2
29-
; CHECK-NEXT: SGT
30-
; CHECK-NEXT: ISZERO
28+
; CHECK-NEXT: SLT
3129
; CHECK-NEXT: PUSH4 @.BB0_5
3230
; CHECK-NEXT: JUMPI
33-
; CHECK-NEXT: ; %bb.4:
31+
; CHECK-NEXT: ; %bb.4: ; %bb3
3432
; CHECK-NEXT: POP
3533
; CHECK-NEXT: PUSH1 0x5
36-
; CHECK-NEXT: .BB0_5:
34+
; CHECK-NEXT: .BB0_5: ; %bb4
3735
; CHECK-NEXT: JUMPDEST
3836
; CHECK-NEXT: SWAP1
3937
; CHECK-NEXT: JUMP
40-
%cmp1 = icmp sgt i256 %arg, 0
41-
%cmp2 = icmp slt i256 %arg, 0
42-
%select1 = select i1 %cmp2, i256 10, i256 20
43-
%select2 = select i1 %cmp1, i256 5, i256 %select1
44-
ret i256 %select2
38+
entry:
39+
%cmp1 = icmp slt i256 %arg, 0
40+
br i1 %cmp1, label %bb1, label %bb2
41+
42+
bb1:
43+
br label %bb2
44+
45+
bb2:
46+
%phi1 = phi i256 [ 20, %entry ], [ 10, %bb1 ]
47+
%cmp2 = icmp sgt i256 %arg, 0
48+
br i1 %cmp2, label %bb3, label %bb4
49+
50+
bb3:
51+
br label %bb4
52+
53+
bb4:
54+
%phi2 = phi i256 [ %phi1, %bb2 ], [ 5, %bb3 ]
55+
ret i256 %phi2
4556
}

0 commit comments

Comments
 (0)