summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86.h
diff options
context:
space:
mode:
authorScott Constable <scott.d.constable@intel.com>2020-06-10 15:31:47 -0700
committerTom Stellard <tstellar@redhat.com>2020-06-24 09:31:04 -0700
commit72bff7855d8ce42b831922a51763f9a0732bd473 (patch)
tree8a297de1434849d6838d2e7b719586ec8c4eb923 /llvm/lib/Target/X86/X86.h
parent8aa8abae349dc1607884c24ca3b685d4c7d597d1 (diff)
downloadbcm5719-llvm-72bff7855d8ce42b831922a51763f9a0732bd473.tar.gz
bcm5719-llvm-72bff7855d8ce42b831922a51763f9a0732bd473.zip
[X86] Add an Unoptimized Load Value Injection (LVI) Load Hardening Pass
@nikic raised an issue on D75936 that the added complexity to the O0 pipeline was causing noticeable slowdowns for `-O0` builds. This patch addresses the issue by adding a pass with equal security properties, but without any optimizations (and more importantly, without the need for expensive analysis dependencies). Reviewers: nikic, craig.topper, mattdr Reviewed By: craig.topper, mattdr Differential Revision: https://reviews.llvm.org/D80964
Diffstat (limited to 'llvm/lib/Target/X86/X86.h')
-rw-r--r--llvm/lib/Target/X86/X86.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86.h b/llvm/lib/Target/X86/X86.h
index 39b2f814def..a0ab5c3a5b3 100644
--- a/llvm/lib/Target/X86/X86.h
+++ b/llvm/lib/Target/X86/X86.h
@@ -134,6 +134,7 @@ InstructionSelector *createX86InstructionSelector(const X86TargetMachine &TM,
X86RegisterBankInfo &);
FunctionPass *createX86LoadValueInjectionLoadHardeningPass();
+FunctionPass *createX86LoadValueInjectionLoadHardeningUnoptimizedPass();
FunctionPass *createX86LoadValueInjectionRetHardeningPass();
FunctionPass *createX86SpeculativeLoadHardeningPass();
@@ -150,6 +151,7 @@ void initializeX86DomainReassignmentPass(PassRegistry &);
void initializeX86ExecutionDomainFixPass(PassRegistry &);
void initializeX86ExpandPseudoPass(PassRegistry &);
void initializeX86FlagsCopyLoweringPassPass(PassRegistry &);
+void initializeX86LoadValueInjectionLoadHardeningUnoptimizedPassPass(PassRegistry &);
void initializeX86LoadValueInjectionLoadHardeningPassPass(PassRegistry &);
void initializeX86LoadValueInjectionRetHardeningPassPass(PassRegistry &);
void initializeX86OptimizeLEAPassPass(PassRegistry &);
OpenPOWER on IntegriCloud