[PATCH] D97747: [LoopUnrollRuntime] Add option to assume the non latch exit block to be predictable.
    Michael Kruse via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Wed Mar  3 10:41:53 PST 2021
    
    
  
Meinersbur added inline comments.
================
Comment at: llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp:499-501
+  // Allow unrolling of loops with no non latch exit blocks.
+  if (OtherExits.size() == 0)
+    return true;
----------------
This seems to make sense, but isn't this already covered by `!L->getExitingBlock() || OtherExits.size()` in the function that calls `canProfitablyUnrollMultiExitLoop`? (I think we could keep it here, just to make it more explicit)
================
Comment at: llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp:510
   return (OtherExits.size() == 1 &&
-          OtherExits[0]->getTerminatingDeoptimizeCall());
+          (UnrollRuntimeOtherExitPredictable ||
+           OtherExits[0]->getTerminatingDeoptimizeCall()));
----------------
Looks sensible to me. @bmahjour ?
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D97747/new/
https://reviews.llvm.org/D97747
    
    
More information about the llvm-commits
mailing list