[llvm] c2a9a97 - [LICM] Introduce test for PR92655 (NFC)
Antonio Frighetto via llvm-commits
llvm-commits at lists.llvm.org
Tue May 28 23:47:55 PDT 2024
Author: Antonio Frighetto
Date: 2024-05-29T08:44:45+02:00
New Revision: c2a9a974ca85e4ac4509e368d4b9acae7e67bf71
URL: https://github.com/llvm/llvm-project/commit/c2a9a974ca85e4ac4509e368d4b9acae7e67bf71
DIFF: https://github.com/llvm/llvm-project/commit/c2a9a974ca85e4ac4509e368d4b9acae7e67bf71.diff
LOG: [LICM] Introduce test for PR92655 (NFC)
Added:
llvm/test/Transforms/LICM/update-scev-after-hoist.ll
Modified:
Removed:
################################################################################
diff --git a/llvm/test/Transforms/LICM/update-scev-after-hoist.ll b/llvm/test/Transforms/LICM/update-scev-after-hoist.ll
new file mode 100644
index 0000000000000..f834a74b6f247
--- /dev/null
+++ b/llvm/test/Transforms/LICM/update-scev-after-hoist.ll
@@ -0,0 +1,24 @@
+; RUN: opt -S -passes='loop-unroll,loop-mssa(licm),print<scalar-evolution>' -unroll-count=4 -disable-output < %s 2>&1 | FileCheck %s --check-prefix=SCEV-EXPR
+
+define i16 @main() {
+; SCEV-EXPR: Classifying expressions for: @main
+; SCEV-EXPR-NEXT: %mul = phi i16 [ 1, %entry ], [ %mul.n.3, %loop ]
+; SCEV-EXPR-NEXT: --> %mul U: full-set S: [-32768,32753) Exits: 4096 LoopDispositions: { %loop: Variant }
+; SCEV-EXPR-NEXT: %div = phi i16 [ 32767, %entry ], [ %div.n.3, %loop ]
+; SCEV-EXPR-NEXT: --> %div U: [-2048,-32768) S: [-2048,-32768) Exits: 7 LoopDispositions: { %loop: Variant }
+; SCEV-EXPR-NEXT: %mul.n = mul i16 %mul, 8
+; SCEV-EXPR-NEXT: --> (2 * %mul) U: [0,-1) S: [-32768,32767) Exits: 8192 LoopDispositions: { %loop: Variant }
+entry:
+ br label %loop
+
+loop:
+ %mul = phi i16 [ 1, %entry ], [ %mul.n, %loop ]
+ %div = phi i16 [ 32767, %entry ], [ %div.n, %loop ]
+ %mul.n = mul i16 %mul, 2
+ %div.n = sdiv i16 %div, 2
+ %cmp = icmp sgt i16 %div, 0
+ br i1 %cmp, label %loop, label %end
+
+end:
+ ret i16 %mul
+}
More information about the llvm-commits
mailing list