[PATCH] D144434: [VPlan] Handle invariant GEPs in isUniformAfterVectorization.
Karthika Devi C via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 24 03:26:22 PST 2023
kartcq added a comment.
This patch does not solve the issue completely.
But I don't have expertise enough to comment on what needs to be fixed.
A simplified test case which still breaks the Loop vectorizer even after applying this candidate patch is as follows
**test_loop2.ll**
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
target triple = "aarch64-unknown-linux-gnu"
define dso_local fastcc void @_test_loop2(i64 %init, i64 %n, i8* %store_dest) unnamed_addr #0 {
br label %1.
critedge5: ; preds = %1
ret void
1: ; preds = %0, %1
%2 = phi i64 [ %7, %1 ], [ %init, %0 ]
%3 = sub nsw i64 %n, %2
%4 = trunc i64 %n to i8
%5 = add i64 %2, %3
%6 = getelementptr i8, i8* %store_dest, i64 %5
store i8 %4, i8* %6, align 1
%7 = add nsw i64 %2, 1
%8 = icmp sle i64 %7, 1000
br i1 %8, label %1, label %.critedge5
}
attributes #0 = { "target-features"="+crc,+crypto,+fp-armv8,+neon,+sve,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8a" }
Issue an be reproduced by **command**
opt -passes=loop-vectorize test_loop2.ll
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D144434/new/
https://reviews.llvm.org/D144434
More information about the llvm-commits
mailing list