[PATCH] D100264: [SCEV] Don't walk uses of phis without SCEV expression when forgetting

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 12 00:52:25 PDT 2021


nikic added inline comments.


================
Comment at: llvm/lib/Analysis/ScalarEvolution.cpp:7101
       ValueExprMapType::iterator It =
         ValueExprMap.find_as(static_cast<Value *>(I));
       if (It != ValueExprMap.end()) {
----------------
mkazantsev wrote:
> I don't quite get why is that supposed to help the compile time. We perform the same very check few lines below. Are you saving time on pushing/popping to the queue?
The problem is that PushDefUseChildren() gets called even if the current value is not in ValueExprMap, and that's where all time ends up being spent, as it will visit all direct and indirect users for the phi.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100264



More information about the llvm-commits mailing list