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