summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/test/DeadCodeElimination/non-affine-affine-mix.ll10
-rw-r--r--polly/test/DeadCodeElimination/non-affine.ll9
2 files changed, 13 insertions, 6 deletions
diff --git a/polly/test/DeadCodeElimination/non-affine-affine-mix.ll b/polly/test/DeadCodeElimination/non-affine-affine-mix.ll
index 1b3f38bcf41..b88aff1809a 100644
--- a/polly/test/DeadCodeElimination/non-affine-affine-mix.ll
+++ b/polly/test/DeadCodeElimination/non-affine-affine-mix.ll
@@ -2,7 +2,7 @@
;
; void f(int *A) {
; for (int i = 0; i < 1024; i++)
-; S1: A[i % 2] = i;
+; S1: A[bar(i)] = i;
; for (int i = 0; i < 1024; i++)
; S2: A[i2] = i;
; }
@@ -18,6 +18,8 @@
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
@@ -28,8 +30,8 @@ for.cond:
br i1 %exitcond, label %S1, label %next
S1:
- %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
@@ -58,3 +60,5 @@ for.end:
ret void
}
+attributes #1 = { nounwind readnone }
+
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 }
OpenPOWER on IntegriCloud