<div dir="ltr">What is the behavior that you are not expecting?<div><br></div><div>Cheers,</div><div>Philip</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 26, 2019 at 9:26 PM David Greene via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'm seeing some very unexpected behavior in a ModulePass I've created.<br>
To support both the legacy and new pass managers, I've abstracted away<br>
the code to get the passes it depends on:<br>
<br>
bool MyPass::runOnModule(Module &M) override {<br>
  auto DominatorGetter = [this] (Function &F) -> DominatorTree & {<br>
    return this->getAnalysis<DominatorTreeWrapperPass>(F).getDomTree();<br>
  };<br>
<br>
      auto PostDominatorGetter = [this] (Function &F) -> PostDominatorTree & {<br>
        return this-><br>
        getAnalysis<PostDominatorTreeWrapperPass>(F).getPostDomTree();<br>
      };<br>
<br>
      auto LoopInfoGetter = [this] (Function &F) -> LoopInfo & {<br>
        return this->getAnalysis<LoopInfoWrapperPass>(F).getLoopInfo();<br>
      };<br>
<br>
      auto SCEVGetter = [this] (Function &F) -> ScalarEvolution & {<br>
        return this->getAnalysis<ScalarEvolutionWrapperPass>(F).getSE();<br>
      };<br>
<br>
      auto AssumptionCacheGetter = [this] (Function &F) -><br>
        AssumptionCache & {<br>
        return<br>
        this->getAnalysis<AssumptionCacheTracker>().getAssumptionCache(F);<br>
      };<br>
<br>
      auto OREGetter = [this] (Function &F) -> OptimizationRemarkEmitter & {<br>
        return this-><br>
        getAnalysis<OptimizationRemarkEmitterWrapperPass>(F).getORE();<br>
      };<br>
}<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>