[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