Skip to content

Commit b837c9e

Browse files
committed
Revert "[llvm] Mark win x64 SEH pseudo instruction as meta instructions (#110889)"
This reverts commit db33d82. This commit caused errors when compiling for i686 with codeview debug info enabled, see #110889 (comment) for details.
1 parent 972353f commit b837c9e

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

llvm/lib/Target/X86/X86InstrCompiler.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ let isBranch = 1, isTerminator = 1, isCodeGenOnly = 1 in {
235235
//===----------------------------------------------------------------------===//
236236
// Pseudo instructions used by unwind info.
237237
//
238-
let isPseudo = 1, isMeta = 1, SchedRW = [WriteSystem] in {
238+
let isPseudo = 1, SchedRW = [WriteSystem] in {
239239
def SEH_PushReg : I<0, Pseudo, (outs), (ins i32imm:$reg),
240240
"#SEH_PushReg $reg", []>;
241241
def SEH_SaveReg : I<0, Pseudo, (outs), (ins i32imm:$reg, i32imm:$dst),

llvm/test/CodeGen/X86/x86-win64-shrink-wrapping.ll

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ define i32 @loopInfoSaveOutsideLoop(i32 %cond, i32 %N) #0 {
1717
; ENABLE-NEXT: .seh_pushreg %rbx
1818
; ENABLE-NEXT: .seh_endprologue
1919
; ENABLE-NEXT: testl %ecx, %ecx
20-
; ENABLE-NEXT: je .LBB0_5
20+
; ENABLE-NEXT: je .LBB0_4
2121
; ENABLE-NEXT: # %bb.1: # %for.preheader
2222
; ENABLE-NEXT: #APP
2323
; ENABLE-NEXT: nop
@@ -38,11 +38,11 @@ define i32 @loopInfoSaveOutsideLoop(i32 %cond, i32 %N) #0 {
3838
; ENABLE-NEXT: nop
3939
; ENABLE-NEXT: #NO_APP
4040
; ENABLE-NEXT: shll $3, %eax
41-
; ENABLE-NEXT: popq %rbx
42-
; ENABLE-NEXT: retq
43-
; ENABLE-NEXT: .LBB0_5: # %if.else
41+
; ENABLE-NEXT: jmp .LBB0_5
42+
; ENABLE-NEXT: .LBB0_4: # %if.else
4443
; ENABLE-NEXT: movl %edx, %eax
4544
; ENABLE-NEXT: addl %edx, %eax
45+
; ENABLE-NEXT: .LBB0_5: # %if.end
4646
; ENABLE-NEXT: popq %rbx
4747
; ENABLE-NEXT: retq
4848
; ENABLE-NEXT: .seh_endproc
@@ -53,7 +53,7 @@ define i32 @loopInfoSaveOutsideLoop(i32 %cond, i32 %N) #0 {
5353
; DISABLE-NEXT: .seh_pushreg %rbx
5454
; DISABLE-NEXT: .seh_endprologue
5555
; DISABLE-NEXT: testl %ecx, %ecx
56-
; DISABLE-NEXT: je .LBB0_5
56+
; DISABLE-NEXT: je .LBB0_4
5757
; DISABLE-NEXT: # %bb.1: # %for.preheader
5858
; DISABLE-NEXT: #APP
5959
; DISABLE-NEXT: nop
@@ -74,11 +74,11 @@ define i32 @loopInfoSaveOutsideLoop(i32 %cond, i32 %N) #0 {
7474
; DISABLE-NEXT: nop
7575
; DISABLE-NEXT: #NO_APP
7676
; DISABLE-NEXT: shll $3, %eax
77-
; DISABLE-NEXT: popq %rbx
78-
; DISABLE-NEXT: retq
79-
; DISABLE-NEXT: .LBB0_5: # %if.else
77+
; DISABLE-NEXT: jmp .LBB0_5
78+
; DISABLE-NEXT: .LBB0_4: # %if.else
8079
; DISABLE-NEXT: movl %edx, %eax
8180
; DISABLE-NEXT: addl %edx, %eax
81+
; DISABLE-NEXT: .LBB0_5: # %if.end
8282
; DISABLE-NEXT: popq %rbx
8383
; DISABLE-NEXT: retq
8484
; DISABLE-NEXT: .seh_endproc
@@ -157,7 +157,7 @@ define i32 @loopInfoSaveOutsideLoop2(i32 %cond, i32 %N) #0 {
157157
; DISABLE-NEXT: .seh_pushreg %rbx
158158
; DISABLE-NEXT: .seh_endprologue
159159
; DISABLE-NEXT: testl %ecx, %ecx
160-
; DISABLE-NEXT: je .LBB1_5
160+
; DISABLE-NEXT: je .LBB1_4
161161
; DISABLE-NEXT: # %bb.1: # %for.preheader
162162
; DISABLE-NEXT: #APP
163163
; DISABLE-NEXT: nop
@@ -178,11 +178,11 @@ define i32 @loopInfoSaveOutsideLoop2(i32 %cond, i32 %N) #0 {
178178
; DISABLE-NEXT: nop
179179
; DISABLE-NEXT: #NO_APP
180180
; DISABLE-NEXT: shll $3, %eax
181-
; DISABLE-NEXT: popq %rbx
182-
; DISABLE-NEXT: retq
183-
; DISABLE-NEXT: .LBB1_5: # %if.else
181+
; DISABLE-NEXT: jmp .LBB1_5
182+
; DISABLE-NEXT: .LBB1_4: # %if.else
184183
; DISABLE-NEXT: addl %edx, %edx
185184
; DISABLE-NEXT: movl %edx, %eax
185+
; DISABLE-NEXT: .LBB1_5: # %if.end
186186
; DISABLE-NEXT: popq %rbx
187187
; DISABLE-NEXT: retq
188188
; DISABLE-NEXT: .seh_endproc

0 commit comments

Comments
 (0)