[llvm] 18db681 - [LoopUnrollAnalyzer] Fix icmp simplification

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 27 07:37:27 PDT 2024


Author: Nikita Popov
Date: 2024-08-27T16:37:13+02:00
New Revision: 18db6813fe96616728f7e7f5921676c06a2764de

URL: https://github.com/llvm/llvm-project/commit/18db6813fe96616728f7e7f5921676c06a2764de
DIFF: https://github.com/llvm/llvm-project/commit/18db6813fe96616728f7e7f5921676c06a2764de.diff

LOG: [LoopUnrollAnalyzer] Fix icmp simplification

Fix a bug I introduced in 721fdf1c9a73269280a504cbba847f4979512b66.

Added: 
    

Modified: 
    llvm/lib/Analysis/LoopUnrollAnalyzer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp b/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
index 8824cec86924f3..d8fe92ab14ccd3 100644
--- a/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
+++ b/llvm/lib/Analysis/LoopUnrollAnalyzer.cpp
@@ -186,9 +186,12 @@ bool UnrolledInstAnalyzer::visitCmpInst(CmpInst &I) {
       if (SimplifiedRHS != SimplifiedAddresses.end()) {
         SimplifiedAddress &LHSAddr = SimplifiedLHS->second;
         SimplifiedAddress &RHSAddr = SimplifiedRHS->second;
-        if (LHSAddr.Base == RHSAddr.Base)
-          return ICmpInst::compare(LHSAddr.Offset, RHSAddr.Offset,
-                                   I.getPredicate());
+        if (LHSAddr.Base == RHSAddr.Base) {
+          bool Res = ICmpInst::compare(LHSAddr.Offset, RHSAddr.Offset,
+                                       I.getPredicate());
+          SimplifiedValues[&I] = ConstantInt::getBool(I.getType(), Res);
+          return true;
+        }
       }
     }
   }


        


More information about the llvm-commits mailing list