[llvm] 8eefa07 - [NFC] Move function up in code

Max Kazantsev via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 19 00:05:37 PDT 2021


Author: Max Kazantsev
Date: 2021-03-19T14:03:31+07:00
New Revision: 8eefa07fcfe7b5d4d5827c071e494ecb78c7815c

URL: https://github.com/llvm/llvm-project/commit/8eefa07fcfe7b5d4d5827c071e494ecb78c7815c
DIFF: https://github.com/llvm/llvm-project/commit/8eefa07fcfe7b5d4d5827c071e494ecb78c7815c.diff

LOG: [NFC] Move function up in code

Added: 
    

Modified: 
    llvm/lib/Transforms/Utils/SimplifyIndVar.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp b/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
index 538141132292..f0e446684801 100644
--- a/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
@@ -99,6 +99,24 @@ namespace {
   };
 }
 
+/// Find a point in code which dominates all given instructions. We can safely
+/// assume that, whatever fact we can prove at the found point, this fact is
+/// also true for each of the given instructions.
+static Instruction *findCommonDominator(ArrayRef<Instruction *> Instructions,
+                                        DominatorTree &DT) {
+  Instruction *CommonDom = nullptr;
+  for (auto *Insn : Instructions)
+    if (!CommonDom || DT.dominates(Insn, CommonDom))
+      CommonDom = Insn;
+    else if (!DT.dominates(CommonDom, Insn))
+      // If there is no dominance relation, use common dominator.
+      CommonDom =
+          DT.findNearestCommonDominator(CommonDom->getParent(),
+                                        Insn->getParent())->getTerminator();
+  assert(CommonDom && "Common dominator not found?");
+  return CommonDom;
+}
+
 /// Fold an IV operand into its use.  This removes increments of an
 /// aligned IV when used by a instruction that ignores the low bits.
 ///
@@ -1477,24 +1495,6 @@ bool WidenIV::widenLoopCompare(WidenIV::NarrowIVDefUse DU) {
   return true;
 }
 
-/// Find a point in code which dominates all given instructions. We can safely
-/// assume that, whatever fact we can prove at the found point, this fact is
-/// also true for each of the given instructions.
-static Instruction *findCommonDominator(ArrayRef<Instruction *> Instructions,
-                                        DominatorTree &DT) {
-  Instruction *CommonDom = nullptr;
-  for (auto *Insn : Instructions)
-    if (!CommonDom || DT.dominates(Insn, CommonDom))
-      CommonDom = Insn;
-    else if (!DT.dominates(CommonDom, Insn))
-      // If there is no dominance relation, use common dominator.
-      CommonDom =
-          DT.findNearestCommonDominator(CommonDom->getParent(),
-                                        Insn->getParent())->getTerminator();
-  assert(CommonDom && "Common dominator not found?");
-  return CommonDom;
-}
-
 // The widenIVUse avoids generating trunc by evaluating the use as AddRec, this
 // will not work when:
 //    1) SCEV traces back to an instruction inside the loop that SCEV can not


        


More information about the llvm-commits mailing list