nikic added a comment.

In D75936#2032090 <https://reviews.llvm.org/D75936#2032090>, @craig.topper 
wrote:

> 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.


Hm, I see. One possibility would be to make those analyses lazy, but that's a 
larger change.

Possibly a pragmatic choice would be to not support this feature at O0? It does 
not seem relevant for non-production binaries. The relative impact of a couple 
unnecessary analysis passes is much higher at `O0` than it is at `O3`.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D75936



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to