[X86] Add an Unoptimized Load Value Injection (LVI) Load Hardening Pass
authorScott Constable <scott.d.constable@intel.com>
Wed, 10 Jun 2020 22:31:47 +0000 (15:31 -0700)
committerCraig Topper <craig.topper@gmail.com>
Wed, 10 Jun 2020 22:31:47 +0000 (15:31 -0700)
commit7e06cf0011a8af96f8c983bcf7a31b952e698de9
tree8e6ec3b0c4e8db93e44c9536d306d2b627b0efaa
parentb622a255a36825b774a40ee02dc0ec44dea2987f
[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
llvm/lib/Target/X86/X86.h
llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
llvm/lib/Target/X86/X86TargetMachine.cpp
llvm/test/CodeGen/X86/O0-pipeline.ll
llvm/test/CodeGen/X86/lvi-hardening-loads.ll