Skip to content

Commit 4832d77

Browse files
committed
[BranchFolding][SEH] Add test to check block merge bug
1 parent 39b2104 commit 4832d77

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

llvm/test/CodeGen/X86/branchfolding-landingpad-cfg.mir

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,44 @@ body: |
4949
bb.6:
5050
RET 0
5151
...
52+
---
53+
name: foo
54+
body: |
55+
; CHECK-LABEL: name: foo
56+
; CHECK: bb.0:
57+
; CHECK-NEXT: successors: %bb.3(0x7ffff800), %bb.1(0x00000800)
58+
; CHECK-NEXT: liveins: $rcx
59+
; CHECK-NEXT: {{ $}}
60+
; CHECK-NEXT: renamable $eax = MOV32rm renamable $rcx, 1, $noreg, 0, $noreg
61+
; CHECK-NEXT: TEST32rr renamable $eax, renamable $eax, implicit-def $eflags
62+
; CHECK-NEXT: JCC_1 %bb.3, 15, implicit $eflags
63+
; CHECK-NEXT: {{ $}}
64+
; CHECK-NEXT: bb.1:
65+
; CHECK-NEXT: successors:
66+
; CHECK-NEXT: {{ $}}
67+
; CHECK-NEXT: {{ $}}
68+
; CHECK-NEXT: bb.2 (machine-block-address-taken, landing-pad, ehfunclet-entry):
69+
; CHECK-NEXT: CLEANUPRET
70+
; CHECK-NEXT: {{ $}}
71+
; CHECK-NEXT: bb.3:
72+
; CHECK-NEXT: INT 3
73+
; CHECK-NEXT: RET 0
74+
bb.0:
75+
successors: %bb.1(0x7ffff800), %bb.2(0x00000800)
76+
liveins: $rcx
77+
78+
renamable $eax = MOV32rm renamable $rcx, 1, $noreg, 0, $noreg
79+
TEST32rr renamable $eax, renamable $eax, implicit-def $eflags
80+
JCC_1 %bb.2, 14, implicit killed $eflags
81+
JMP_1 %bb.1
82+
83+
bb.1:
84+
successors: %bb.3(0x80000000)
85+
INT 3
86+
87+
bb.2:
88+
RET 0
89+
90+
bb.3 (machine-block-address-taken, landing-pad, ehfunclet-entry):
91+
CLEANUPRET
92+
...

0 commit comments

Comments
 (0)