Files
clang-p2996/polly/test/CodeGen/stmt_split_no_dependence.ll
Karthika Devi C 4b3a878e8a [Polly] Disable vectorization for Polly's fallback loops (#119188)
The patch sets the vectorization metadata to false for Polly's fallback
loops. These are the loops executed when RTCs fail. This minimizes the
multiple loop versioning carried out by Polly and subsequently by the
Loop Vectorizer.

---------

Co-authored-by: Michael Kruse <github@meinersbur.de>
2024-12-11 07:40:32 +05:30

45 lines
1.2 KiB
LLVM

; RUN: opt %loadNPMPolly -passes=polly-codegen -S < %s | FileCheck %s
;
; CHECK: store i32 %9, ptr %scevgep, align 4, !alias.scope !3, !noalias !6
; CHECK: store i32 %11, ptr %scevgep4, align 4, !alias.scope !6, !noalias !3
;
; void func(int *A, int *B){
; for (int i = 0; i < 1024; i+=1) {
; Stmt:
; A[i] = i;
; B[i] = i;
; }
; }
;
; Function Attrs: noinline nounwind uwtable
define void @func(ptr %A, ptr %B) #0 {
entry:
br label %for.cond
for.cond: ; preds = %for.inc, %entry
%i.0 = phi i32 [ 0, %entry ], [ %add, %for.inc ]
%cmp = icmp slt i32 %i.0, 1024
br i1 %cmp, label %for.body, label %for.end
for.body: ; preds = %for.cond
br label %Stmt
Stmt: ; preds = %for.body
%idxprom = sext i32 %i.0 to i64
%arrayidx = getelementptr inbounds i32, ptr %A, i64 %idxprom
store i32 %i.0, ptr %arrayidx, align 4, !polly_split_after !0
%idxprom1 = sext i32 %i.0 to i64
%arrayidx2 = getelementptr inbounds i32, ptr %B, i64 %idxprom1
store i32 %i.0, ptr %arrayidx2, align 4
br label %for.inc
for.inc: ; preds = %Stmt
%add = add nsw i32 %i.0, 1
br label %for.cond
for.end: ; preds = %for.cond
ret void
}
!0 = !{!"polly_split_after"}