Skip to content

Commit 8e380d2

Browse files
committed
Revert "[X86][CodeGen] security check cookie execute only when needed (llvm#95904)"
This reverts commit 854bbc5.
1 parent 31ddaef commit 8e380d2

File tree

7 files changed

+10
-290
lines changed

7 files changed

+10
-290
lines changed

llvm/lib/Target/X86/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ set(sources
8383
X86TargetTransformInfo.cpp
8484
X86VZeroUpper.cpp
8585
X86WinEHState.cpp
86-
X86WinFixupBufferSecurityCheck.cpp
8786
X86InsertWait.cpp
8887
GISel/X86CallLowering.cpp
8988
GISel/X86InstructionSelector.cpp

llvm/lib/Target/X86/X86.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,6 @@ FunctionPass *createX86OptimizeLEAs();
7373
/// Return a pass that transforms setcc + movzx pairs into xor + setcc.
7474
FunctionPass *createX86FixupSetCC();
7575

76-
/// Return a pass that transform inline buffer security check into seperate bb
77-
FunctionPass *createX86WinFixupBufferSecurityCheckPass();
78-
7976
/// Return a pass that avoids creating store forward block issues in the hardware.
8077
FunctionPass *createX86AvoidStoreForwardingBlocks();
8178

@@ -190,7 +187,6 @@ void initializeX86ExpandPseudoPass(PassRegistry &);
190187
void initializeX86FastPreTileConfigPass(PassRegistry &);
191188
void initializeX86FastTileConfigPass(PassRegistry &);
192189
void initializeX86FixupSetCCPassPass(PassRegistry &);
193-
void initializeX86WinFixupBufferSecurityCheckPassPass(PassRegistry &);
194190
void initializeX86FlagsCopyLoweringPassPass(PassRegistry &);
195191
void initializeX86LoadValueInjectionLoadHardeningPassPass(PassRegistry &);
196192
void initializeX86LoadValueInjectionRetHardeningPassPass(PassRegistry &);

llvm/lib/Target/X86/X86TargetMachine.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,6 @@ bool X86PassConfig::addPreISel() {
552552
void X86PassConfig::addPreRegAlloc() {
553553
if (getOptLevel() != CodeGenOptLevel::None) {
554554
addPass(&LiveRangeShrinkID);
555-
addPass(createX86WinFixupBufferSecurityCheckPass());
556555
addPass(createX86FixupSetCC());
557556
addPass(createX86OptimizeLEAs());
558557
addPass(createX86CallFrameOptimization());

llvm/lib/Target/X86/X86WinFixupBufferSecurityCheck.cpp

Lines changed: 0 additions & 245 deletions
This file was deleted.

llvm/test/CodeGen/X86/opt-pipeline.ll

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@
121121
; CHECK-NEXT: Peephole Optimizations
122122
; CHECK-NEXT: Remove dead machine instructions
123123
; CHECK-NEXT: Live Range Shrink
124-
; CHECK-NEXT: X86 Windows Fixup Buffer Security Check
125124
; CHECK-NEXT: X86 Fixup SetCC
126125
; CHECK-NEXT: Lazy Machine Block Frequency Analysis
127126
; CHECK-NEXT: X86 LEA Optimize

llvm/test/CodeGen/X86/stack-protector-msvc.ll

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,10 @@ define void @test(ptr %a) nounwind ssp {
4949
; MSVC-X64-NEXT: callq printf
5050
; MSVC-X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx
5151
; MSVC-X64-NEXT: xorq %rsp, %rcx
52-
; MSVC-X64-NEXT: cmpq __security_cookie(%rip), %rcx
53-
; MSVC-X64-NEXT: jne .LBB0_2
54-
; MSVC-X64-NEXT: # %bb.1:
52+
; MSVC-X64-NEXT: callq __security_check_cookie
5553
; MSVC-X64-NEXT: addq $64, %rsp
5654
; MSVC-X64-NEXT: popq %rsi
5755
; MSVC-X64-NEXT: retq
58-
; MSVC-X64-NEXT: .LBB0_2:
59-
; MSVC-X64-NEXT: callq __security_check_cookie
60-
; MSVC-X64-NEXT: int3
6156
;
6257
; MSVC-X86-O0-LABEL: test:
6358
; MSVC-X86-O0: # %bb.0: # %entry
@@ -160,17 +155,11 @@ define void @test_vla(i32 %n) nounwind ssp {
160155
; MSVC-X64-NEXT: addq $32, %rsp
161156
; MSVC-X64-NEXT: movq -8(%rbp), %rcx
162157
; MSVC-X64-NEXT: xorq %rbp, %rcx
163-
; MSVC-X64-NEXT: cmpq __security_cookie(%rip), %rcx
164-
; MSVC-X64-NEXT: jne .LBB1_2
165-
; MSVC-X64-NEXT: # %bb.1:
158+
; MSVC-X64-NEXT: subq $32, %rsp
159+
; MSVC-X64-NEXT: callq __security_check_cookie
166160
; MSVC-X64-NEXT: movq %rbp, %rsp
167161
; MSVC-X64-NEXT: popq %rbp
168162
; MSVC-X64-NEXT: retq
169-
; MSVC-X64-NEXT: .LBB1_2:
170-
; MSVC-X64-NEXT: subq $32, %rsp
171-
; MSVC-X64-NEXT: callq __security_check_cookie
172-
; MSVC-X64-NEXT: addq $32, %rsp
173-
; MSVC-X64-NEXT: int3
174163
;
175164
; MSVC-X86-O0-LABEL: test_vla:
176165
; MSVC-X86-O0: # %bb.0:
@@ -288,19 +277,13 @@ define void @test_vla_realign(i32 %n) nounwind ssp {
288277
; MSVC-X64-NEXT: addq $32, %rsp
289278
; MSVC-X64-NEXT: movq 24(%rbx), %rcx
290279
; MSVC-X64-NEXT: xorq %rbp, %rcx
291-
; MSVC-X64-NEXT: cmpq __security_cookie(%rip), %rcx
292-
; MSVC-X64-NEXT: jne .LBB2_2
293-
; MSVC-X64-NEXT: # %bb.1:
280+
; MSVC-X64-NEXT: subq $32, %rsp
281+
; MSVC-X64-NEXT: callq __security_check_cookie
294282
; MSVC-X64-NEXT: movq %rbp, %rsp
295283
; MSVC-X64-NEXT: popq %rbx
296284
; MSVC-X64-NEXT: popq %rsi
297285
; MSVC-X64-NEXT: popq %rbp
298286
; MSVC-X64-NEXT: retq
299-
; MSVC-X64-NEXT: .LBB2_2:
300-
; MSVC-X64-NEXT: subq $32, %rsp
301-
; MSVC-X64-NEXT: callq __security_check_cookie
302-
; MSVC-X64-NEXT: addq $32, %rsp
303-
; MSVC-X64-NEXT: int3
304287
;
305288
; MSVC-X86-O0-LABEL: test_vla_realign:
306289
; MSVC-X86-O0: # %bb.0:
@@ -377,3 +360,4 @@ define void @test_vla_realign(i32 %n) nounwind ssp {
377360
declare ptr @strcpy(ptr, ptr) nounwind
378361

379362
declare i32 @printf(ptr, ...) nounwind
363+

0 commit comments

Comments
 (0)