diff options
Diffstat (limited to 'polly/test/DeadCodeElimination/non-affine.ll')
| -rw-r--r-- | polly/test/DeadCodeElimination/non-affine.ll | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/polly/test/DeadCodeElimination/non-affine.ll b/polly/test/DeadCodeElimination/non-affine.ll index 33b7ccc9550..8505ea567e7 100644 --- a/polly/test/DeadCodeElimination/non-affine.ll +++ b/polly/test/DeadCodeElimination/non-affine.ll @@ -4,11 +4,13 @@ ; ; void f(int *A) { ; for (int i = 0; i < 1024; i++) -; A[i % 2] = i; +; A[bar(i)] = i; ; } ; target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-n32-S64" +declare i32 @bar(i32) #1 + define void @f(i32* %A) { entry: br label %for.cond @@ -19,8 +21,8 @@ for.cond: ; preds = %for.inc, %entry br i1 %exitcond, label %for.body, label %for.end for.body: ; preds = %for.cond - %rem = srem i32 %i.0, 2 - %arrayidx = getelementptr inbounds i32, i32* %A, i32 %rem + %nonaff = call i32 @bar(i32 %i.0) + %arrayidx = getelementptr inbounds i32, i32* %A, i32 %nonaff store i32 %i.0, i32* %arrayidx, align 4 br label %for.inc @@ -32,3 +34,4 @@ for.end: ; preds = %for.cond ret void } +attributes #1 = { nounwind readnone } |

