[PATCH] D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6]

Craig Topper via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue May 12 12:21:57 PDT 2020


craig.topper added a comment.

In D75936#2032078 <https://reviews.llvm.org/D75936#2032078>, @sconstab wrote:

> In D75936#2032027 <https://reviews.llvm.org/D75936#2032027>, @nikic wrote:
>
> > This change causes a 0.8% compile-time regression for unoptimized builds <http://llvm-compile-time-tracker.com/compare.php?from=a1b04aaea210a9a9fbe0cd9dd7f874e12fa97585&to=e97a3e5d9d428c4d455fa1b1982728bb71f0c397&stat=instructions>. Based on the pipeline test diffs, I expect this is because the new pass requests a bunch of analyses, which it most likely (LVI load hardening disabled) will not need. Would it be possible to compute the analyses only if LVI load hardening is actually enabled?
>
>
> @craig.topper Do you have any ideas on how this could be done?


Unfortunately due to LTO the need for LVI hardening is carried as a function attribute. The pass manager system doesn't allow for running different passes per function. So I don't have any good ideas of how to do that.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D75936/new/

https://reviews.llvm.org/D75936





More information about the cfe-commits mailing list