[llvm] 6ee30e8 - [InstCombine] Fix incorrect number of iterations (#140004)

via llvm-commits llvm-commits at lists.llvm.org
Thu May 15 06:47:21 PDT 2025


Author: Yingwei Zheng
Date: 2025-05-15T21:47:18+08:00
New Revision: 6ee30e8dd8810f6ce49095a30a2caae683d92ff5

URL: https://github.com/llvm/llvm-project/commit/6ee30e8dd8810f6ce49095a30a2caae683d92ff5
DIFF: https://github.com/llvm/llvm-project/commit/6ee30e8dd8810f6ce49095a30a2caae683d92ff5.diff

LOG: [InstCombine] Fix incorrect number of iterations (#140004)

Added: 
    

Modified: 
    llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
index a031d2e79c7f9..24026e310ad11 100644
--- a/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -5663,15 +5663,14 @@ static bool combineInstructionsOverFunction(
   // Iterate while there is work to do.
   unsigned Iteration = 0;
   while (true) {
-    ++Iteration;
-
-    if (Iteration > Opts.MaxIterations && !VerifyFixpoint) {
+    if (Iteration >= Opts.MaxIterations && !VerifyFixpoint) {
       LLVM_DEBUG(dbgs() << "\n\n[IC] Iteration limit #" << Opts.MaxIterations
                         << " on " << F.getName()
                         << " reached; stopping without verifying fixpoint\n");
       break;
     }
 
+    ++Iteration;
     ++NumWorklistIterations;
     LLVM_DEBUG(dbgs() << "\n\nINSTCOMBINE ITERATION #" << Iteration << " on "
                       << F.getName() << "\n");


        


More information about the llvm-commits mailing list