Bump version to 19.1.0 (final)
[llvm-project.git] / polly / test / Simplify / redundant_partialwrite.ll
blobac5ca907fff6f144c7a338f3e26e6d11ffe0c6ad
1 ; RUN: opt %loadPolly -polly-import-jscop-postfix=transformed -polly-print-import-jscop -polly-print-simplify -disable-output < %s | FileCheck %s -match-full-lines
3 ; Remove a redundant store, if its partial domain is a subset of the
4 ; read's domain.
6 define void @redundant_partialwrite(i32 %n, ptr noalias nonnull %A) {
7 entry:
8   br label %for
10 for:
11   %j = phi i32 [0, %entry], [%j.inc, %inc]
12   %j.cmp = icmp slt i32 %j, %n
13   br i1 %j.cmp, label %body, label %exit
15     body:
16       %val = load double, ptr %A
17       store double %val, ptr %A
18       br label %inc
20 inc:
21   %j.inc = add nuw nsw i32 %j, 1
22   br label %for
24 exit:
25   br label %return
27 return:
28   ret void
32 ; Check successful import.
33 ; CHECK:    new: [n] -> { Stmt_body[i0] -> MemRef_A[0] : i0 <= 15 };
35 ; CHECK: Statistics {
36 ; CHECK:     Redundant writes removed: 1
37 ; CHECK: }
39 ; CHECK:      After accesses {
40 ; CHECK-NEXT: }