[PATCH] D157954: [LoopSink] Don't sort BBs if there is only 1 of them (NFC)

Danila Kutenin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 15 01:52:54 PDT 2023


danlark created this revision.
danlark added reviewers: nikic, asbirlea.
Herald added subscribers: StephenFan, mgrang, hiraditya.
Herald added a project: All.
danlark requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

This was trigerred by the debug check when comp(a, a) was called.
On line 216 it's checked that LoopBlockNumber should contain
all if there are more than 1. NFC for end users

I don't have commit rights. Danila Kutenin. kutdanila at yandex.ru


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D157954

Files:
  llvm/lib/Transforms/Scalar/LoopSink.cpp


Index: llvm/lib/Transforms/Scalar/LoopSink.cpp
===================================================================
--- llvm/lib/Transforms/Scalar/LoopSink.cpp
+++ llvm/lib/Transforms/Scalar/LoopSink.cpp
@@ -222,9 +222,11 @@
   // order. No need to stable sort as the block numbers are a total ordering.
   SmallVector<BasicBlock *, 2> SortedBBsToSinkInto;
   llvm::append_range(SortedBBsToSinkInto, BBsToSinkInto);
-  llvm::sort(SortedBBsToSinkInto, [&](BasicBlock *A, BasicBlock *B) {
-    return LoopBlockNumber.find(A)->second < LoopBlockNumber.find(B)->second;
-  });
+  if (SortedBBsToSinkInto.size() > 1) {
+    llvm::sort(SortedBBsToSinkInto, [&](BasicBlock *A, BasicBlock *B) {
+      return LoopBlockNumber.find(A)->second < LoopBlockNumber.find(B)->second;
+    });
+  }
 
   BasicBlock *MoveBB = *SortedBBsToSinkInto.begin();
   // FIXME: Optimize the efficiency for cloned value replacement. The current


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D157954.550213.patch
Type: text/x-patch
Size: 916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230815/59a93a23/attachment-0001.bin>


More information about the llvm-commits mailing list