summaryrefslogtreecommitdiffstats
path: root/polly/test/Simplify
diff options
context:
space:
mode:
Diffstat (limited to 'polly/test/Simplify')
-rw-r--r--polly/test/Simplify/emptyaccessdomain.ll38
-rw-r--r--polly/test/Simplify/emptyaccessdomain___%for---%return.jscop24
-rw-r--r--polly/test/Simplify/emptyaccessdomain___%for---%return.jscop.transformed24
3 files changed, 86 insertions, 0 deletions
diff --git a/polly/test/Simplify/emptyaccessdomain.ll b/polly/test/Simplify/emptyaccessdomain.ll
new file mode 100644
index 00000000000..641d34e9ecc
--- /dev/null
+++ b/polly/test/Simplify/emptyaccessdomain.ll
@@ -0,0 +1,38 @@
+; RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-postfix=transformed -polly-simplify -analyze < %s | FileCheck %s -match-full-lines
+;
+; for (int j = 0; j < n; j += 1) {
+; A[0] = 42.0;
+; }
+;
+define void @emptyaccessdomain(i32 %n, double* noalias nonnull %A) {
+entry:
+ br label %for
+
+for:
+ %j = phi i32 [0, %entry], [%j.inc, %inc]
+ %j.cmp = icmp slt i32 %j, %n
+ br i1 %j.cmp, label %body, label %exit
+
+ body:
+ store double 42.0, double* %A
+ br label %inc
+
+inc:
+ %j.inc = add nuw nsw i32 %j, 1
+ br label %for
+
+exit:
+ br label %return
+
+return:
+ ret void
+}
+
+
+; CHECK: Statistics {
+; CHECK: Overwrites removed: 1
+; CHECK: Stmts removed: 1
+; CHECK: }
+
+; CHECK: After accesses {
+; CHECK-NEXT: }
diff --git a/polly/test/Simplify/emptyaccessdomain___%for---%return.jscop b/polly/test/Simplify/emptyaccessdomain___%for---%return.jscop
new file mode 100644
index 00000000000..a0472bc116b
--- /dev/null
+++ b/polly/test/Simplify/emptyaccessdomain___%for---%return.jscop
@@ -0,0 +1,24 @@
+{
+ "arrays" : [
+ {
+ "name" : "MemRef_A",
+ "sizes" : [ "*" ],
+ "type" : "double"
+ }
+ ],
+ "context" : "[n] -> { : -2147483648 <= n <= 2147483647 }",
+ "name" : "%for---%return",
+ "statements" : [
+ {
+ "accesses" : [
+ {
+ "kind" : "write",
+ "relation" : "[n] -> { Stmt_body[i0] -> MemRef_A[0] }"
+ }
+ ],
+ "domain" : "[n] -> { Stmt_body[i0] : 0 <= i0 < n }",
+ "name" : "Stmt_body",
+ "schedule" : "[n] -> { Stmt_body[i0] -> [i0] }"
+ }
+ ]
+}
diff --git a/polly/test/Simplify/emptyaccessdomain___%for---%return.jscop.transformed b/polly/test/Simplify/emptyaccessdomain___%for---%return.jscop.transformed
new file mode 100644
index 00000000000..e881f7e1232
--- /dev/null
+++ b/polly/test/Simplify/emptyaccessdomain___%for---%return.jscop.transformed
@@ -0,0 +1,24 @@
+{
+ "arrays" : [
+ {
+ "name" : "MemRef_A",
+ "sizes" : [ "*" ],
+ "type" : "double"
+ }
+ ],
+ "context" : "[n] -> { : -2147483648 <= n <= 2147483647 }",
+ "name" : "%for---%return",
+ "statements" : [
+ {
+ "accesses" : [
+ {
+ "kind" : "write",
+ "relation" : "[n] -> { Stmt_body[i0] -> MemRef_A[0] : 1 = 0 }"
+ }
+ ],
+ "domain" : "[n] -> { Stmt_body[i0] : 0 <= i0 < n }",
+ "name" : "Stmt_body",
+ "schedule" : "[n] -> { Stmt_body[i0] -> [i0] }"
+ }
+ ]
+}
OpenPOWER on IntegriCloud