[libclc] Optimize ceil/fabs/floor/rint/trunc (#119596)
[llvm-project.git] / polly / test / Simplify / redundant.ll
blob540e537460e54d25bad71d9d88f4378d2cb5e55d
1 ; RUN: opt %loadNPMPolly "-passes=scop(print<polly-simplify>)" -disable-output -aa-pipeline=basic-aa < %s | FileCheck %s -match-full-lines
3 ; Remove redundant store (a store that writes the same value already
4 ; at the destination)
6 ; for (int j = 0; j < n; j += 1)
7 ;   A[0] = A[0];
9 define void @func(i32 %n, ptr noalias nonnull %A) {
10 entry:
11   br label %for
13 for:
14   %j = phi i32 [0, %entry], [%j.inc, %inc]
15   %j.cmp = icmp slt i32 %j, %n
16   br i1 %j.cmp, label %body, label %exit
18     body:
19       %val = load double, ptr %A
20       store double %val, ptr %A
21       br label %inc
23 inc:
24   %j.inc = add nuw nsw i32 %j, 1
25   br label %for
27 exit:
28   br label %return
30 return:
31   ret void
35 ; CHECK: Statistics {
36 ; CHECK:     Redundant writes removed: 1
37 ; CHECK:     Stmts removed: 1
38 ; CHECK: }
40 ; CHECK:      After accesses {
41 ; CHECK-NEXT: }