[PATCH] D133537: [pipelines] RecomputeGlobalsAAPass after OptimizerEarlyEPCallbacks
    Vitaly Buka via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Sep 13 15:40:18 PDT 2022
    
    
  
vitalybuka added a comment.
In D133537#3786958 <https://reviews.llvm.org/D133537#3786958>, @aeubanks wrote:
> `RecomputeGlobalsAAPass` is essentially equivalent to "if GlobalsAA exists in the cache, abandon it and recompute", so it's similar to
>
>   if (GlobalsAA in analysis cache) {
>    MPM.addPass(RequireAnalysisPass<GlobalsAA, Module>());
>    MPM.addPass(InvalidateAnalysisPass<GlobalsAA>());
>   }
>
> since `RecomputeGlobalsAAPass` doesn't work if the analysis doesn't exist in the cache, if we've added a sanitizer that may abandon GlobalsAA, we can just add a
> `MPM.addPass(RequireAnalysisPass<GlobalsAA, Module>());` in `BackendUtil.cpp/SanitizersCallback` which will fully compute GlobalsAA from scratch
>
> that would be better than this patch because `OptimizerEarlyEPCallbacks` still has an up-to-date GlobalsAA, but if we add sanitizers we'll still have an up-to-date GlobalsAA right after
Wouldn't be better to do so on PassBuilderPipelines like this, so we can cover any other future abandoning hooks?
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D133537/new/
https://reviews.llvm.org/D133537
    
    
More information about the llvm-commits
mailing list