[llvm] 7b8692a - [LICM][NFC] Do not forward declaration of hoistMinMax

Max Kazantsev via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 11 03:08:44 PDT 2023


Author: Max Kazantsev
Date: 2023-04-11T17:06:20+07:00
New Revision: 7b8692a55ca75a68cd538c254ed1027995512ef3

URL: https://github.com/llvm/llvm-project/commit/7b8692a55ca75a68cd538c254ed1027995512ef3
DIFF: https://github.com/llvm/llvm-project/commit/7b8692a55ca75a68cd538c254ed1027995512ef3.diff

LOG: [LICM][NFC] Do not forward declaration of hoistMinMax

They all are now handled by hoistArithmetics, and only it should be
forwarded.

Added: 
    

Modified: 
    llvm/lib/Transforms/Scalar/LICM.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Scalar/LICM.cpp b/llvm/lib/Transforms/Scalar/LICM.cpp
index 40190f38cc75..c6b315290dd8 100644
--- a/llvm/lib/Transforms/Scalar/LICM.cpp
+++ b/llvm/lib/Transforms/Scalar/LICM.cpp
@@ -175,11 +175,6 @@ static bool hoistArithmetics(Instruction &I, Loop &L,
                              ICFLoopSafetyInfo &SafetyInfo,
                              MemorySSAUpdater &MSSAU, AssumptionCache *AC,
                              DominatorTree *DT);
-/// Try to simplify things like (A < INV_1 AND icmp A < INV_2) into (A <
-/// min(INV_1, INV_2)), if INV_1 and INV_2 are both loop invariants and their
-/// minimun can be computed outside of loop, and X is not a loop-invariant.
-static bool hoistMinMax(Instruction &I, Loop &L, ICFLoopSafetyInfo &SafetyInfo,
-                        MemorySSAUpdater &MSSAU);
 static Instruction *cloneInstructionInExitBlock(
     Instruction &I, BasicBlock &ExitBlock, PHINode &PN, const LoopInfo *LI,
     const LoopSafetyInfo *SafetyInfo, MemorySSAUpdater &MSSAU);
@@ -2418,6 +2413,9 @@ bool pointerInvalidatedByBlock(BasicBlock &BB, MemorySSA &MSSA, MemoryUse &MU) {
   return false;
 }
 
+/// Try to simplify things like (A < INV_1 AND icmp A < INV_2) into (A <
+/// min(INV_1, INV_2)), if INV_1 and INV_2 are both loop invariants and their
+/// minimun can be computed outside of loop, and X is not a loop-invariant.
 static bool hoistMinMax(Instruction &I, Loop &L, ICFLoopSafetyInfo &SafetyInfo,
                         MemorySSAUpdater &MSSAU) {
   bool Inverse = false;


        


More information about the llvm-commits mailing list