[llvm] [llvm][LICM] Add flag to control re-association (PR #149829)
    Theodoros Theodoridis via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Mon Jul 21 09:05:29 PDT 2025
    
    
  
================
@@ -2850,7 +2855,7 @@ static bool hoistBOAssociation(Instruction &I, Loop &L,
   bool LVInRHS = L.isLoopInvariant(BO->getOperand(0));
   auto *BO0 = dyn_cast<BinaryOperator>(BO->getOperand(LVInRHS));
   if (!BO0 || BO0->getOpcode() != Opcode || !BO0->isAssociative() ||
-      BO0->hasNUsesOrMore(3))
+      BO0->hasNUsesOrMore(BOAssociationUserLimit + 1))
----------------
thetheodor wrote:
Regarding the motivation: we (at NVIDIA) have found that in some cases too much re-association can lead to higher register pressure, especially when there are multiple uses inside a loop. We'd like a way to control this behavior.
https://github.com/llvm/llvm-project/pull/149829
    
    
More information about the llvm-commits
mailing list