[llvm] 4d9d736 - [NFC] Improve debug message and test description in 4c1f74a

Ta-Wei Tu via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 24 03:21:32 PDT 2021


Author: Ta-Wei Tu
Date: 2021-03-24T18:21:13+08:00
New Revision: 4d9d7368759c87c6d0f422353450b43adb437c5c

URL: https://github.com/llvm/llvm-project/commit/4d9d7368759c87c6d0f422353450b43adb437c5c
DIFF: https://github.com/llvm/llvm-project/commit/4d9d7368759c87c6d0f422353450b43adb437c5c.diff

LOG: [NFC] Improve debug message and test description in 4c1f74a

Added: 
    

Modified: 
    llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    llvm/test/Transforms/LoopFlatten/pr49571.ll

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Transforms/Scalar/LoopFlatten.cpp b/llvm/lib/Transforms/Scalar/LoopFlatten.cpp
index 319d9b4c752a..5b5196529734 100644
--- a/llvm/lib/Transforms/Scalar/LoopFlatten.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopFlatten.cpp
@@ -178,7 +178,8 @@ static bool findLoopComponents(
   assert(InductionPHI->getNumIncomingValues() == 2);
 
   if (InductionPHI->getIncomingValueForBlock(Latch) != Increment) {
-    LLVM_DEBUG(dbgs() << "PHI value is not increment inst");
+    LLVM_DEBUG(
+        dbgs() << "Incoming value from latch is not the increment inst\n");
     return false;
   }
 

diff  --git a/llvm/test/Transforms/LoopFlatten/pr49571.ll b/llvm/test/Transforms/LoopFlatten/pr49571.ll
index afd1fb2d8ded..0037064245d0 100644
--- a/llvm/test/Transforms/LoopFlatten/pr49571.ll
+++ b/llvm/test/Transforms/LoopFlatten/pr49571.ll
@@ -1,8 +1,29 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
 ; RUN: opt < %s -S -loop-flatten -verify-loop-info -verify-dom-info -verify-scev -verify | FileCheck %s
 
-; CHECK-LABEL: @main
+; Testcase of PR49571
+; Previously we had an assertion that the incoming value from the
+; loop latch (%inc) is the same as the operator in the compare
+; statement (%0). This does not necessarily hold as demonstrated
+; in the following case.
 
 define dso_local void @main() {
+; CHECK-LABEL: @main(
+; CHECK-NEXT:  entry:
+; CHECK-NEXT:    br label [[FOR_COND:%.*]]
+; CHECK:       for.cond:
+; CHECK-NEXT:    br label [[FOR_BODY:%.*]]
+; CHECK:       for.body:
+; CHECK-NEXT:    [[A_03:%.*]] = phi i32 [ 0, [[FOR_COND]] ], [ [[INC:%.*]], [[FOR_INC:%.*]] ]
+; CHECK-NEXT:    br label [[FOR_INC]]
+; CHECK:       for.inc:
+; CHECK-NEXT:    [[TMP0:%.*]] = add i32 [[A_03]], 1
+; CHECK-NEXT:    [[CMP:%.*]] = icmp slt i32 [[TMP0]], 10
+; CHECK-NEXT:    [[INC]] = add nsw i32 [[A_03]], 1
+; CHECK-NEXT:    br i1 [[CMP]], label [[FOR_BODY]], label [[FOR_END:%.*]]
+; CHECK:       for.end:
+; CHECK-NEXT:    br label [[FOR_COND]]
+;
 entry:
   br label %for.cond
 


        


More information about the llvm-commits mailing list