[llvm] [LV] Invalidate SCEV values in the scalar loop after loop vectorization (PR #69886)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 23 01:45:09 PDT 2023
================
@@ -0,0 +1,35 @@
+; RUN: opt -passes="require<scalar-evolution>,print<scalar-evolution>,loop-vectorize" --verify-scev --verify-scev-strict -S < %s | FileCheck %s
+
+target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; CHECK-LABEL: @pr66616(
+; CHECK: vector.body
+define void @pr66616() {
+entry:
+ br label %for.body
+
+for.cond5.preheader: ; preds = %for.body
+ br label %while.body.i
+
+for.body: ; preds = %for.body, %entry
+ %storemerge12 = phi i8 [ 0, %entry ], [ %inc, %for.body ]
+ %0 = load i8, ptr null, align 1
+ %conv2 = sext i8 %0 to i32
+ %add3 = add i32 %conv2, 1
+ %inc = add i8 %storemerge12, 1
+ %conv1 = zext i8 %inc to i32
+ %tobool.not = icmp eq i32 %conv1, 0
+ br i1 %tobool.not, label %for.cond5.preheader, label %for.body
+
+while.body.i: ; preds = %while.body.i, %for.cond5.preheader
+ %i.addr.09.i = phi i32 [ %dec.i, %while.body.i ], [ %add3, %for.cond5.preheader ]
+ %incdec.ptr48.i = phi ptr [ %incdec.ptr.i, %while.body.i ], [ null, %for.cond5.preheader ]
----------------
fhahn wrote:
Please avoid `null` here too.
https://github.com/llvm/llvm-project/pull/69886
More information about the llvm-commits
mailing list