[PATCH] D152639: [LoopUnrollRuntime] Allow simple transition to deopt non-latch exit blocks

Anna Thomas via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 12 13:52:16 PDT 2023


anna added a comment.

If we are traversing through unique successors until we reach deopt, we're guaranteed it is a cold path. Did we get any compile time difference if we choose this heuristic versus directly using `!BasicBlock::getTerminatingDeoptimizeCall()`?
When I originally had the heuristic, there wasn't any particular reason for checking immediate deopt block (except that those were the workloads we cared about).



================
Comment at: llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp:457
+  // inside of the loop (See simplifyOneLoop()).
+  auto GetTerminatingDeoptimzeCall =
+      [&](const BasicBlock *BB) -> const llvm::CallInst * {
----------------
Nit: GetTerminatingDeoptimizeCall


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152639



More information about the llvm-commits mailing list