summaryrefslogtreecommitdiffstats
path: root/polly/test/Isl/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'polly/test/Isl/CodeGen')
-rw-r--r--polly/test/Isl/CodeGen/invariant_load_parameters_cyclic_dependence.ll4
-rw-r--r--polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll15
-rw-r--r--polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll9
3 files changed, 19 insertions, 9 deletions
diff --git a/polly/test/Isl/CodeGen/invariant_load_parameters_cyclic_dependence.ll b/polly/test/Isl/CodeGen/invariant_load_parameters_cyclic_dependence.ll
index 8dab88e3a48..bbf267495d3 100644
--- a/polly/test/Isl/CodeGen/invariant_load_parameters_cyclic_dependence.ll
+++ b/polly/test/Isl/CodeGen/invariant_load_parameters_cyclic_dependence.ll
@@ -10,12 +10,12 @@
; 2) To generate (A[N * M] / 2) [p1] the preloaded value is needed.
;
; SCOP: p0: (%N * %M)
-; SCOP: p1: (zext i32 (%tmp4 /u 2) to i64)
+; SCOP: p1: (%tmp4 /u 2)
;
; CHECK: polly.preload.merge:
; CHECK: %polly.preload.tmp4.merge = phi i32 [ %polly.access.A.load, %polly.preload.exec ], [ 0, %polly.preload.cond ]
; CHECK: %3 = lshr i32 %polly.preload.tmp4.merge, 1
-; CHECK: %4 = zext i32 %3 to i64
+; CHECK: %4 = sext i32 %0 to i64
;
; void f(int *restrict A, int *restrict B, int N, int M) {
;
diff --git a/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll b/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
index e2bec4c9979..abbda0e1412 100644
--- a/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
+++ b/polly/test/Isl/CodeGen/run-time-condition-with-scev-parameters.ll
@@ -1,12 +1,21 @@
+; RUN: opt %loadPolly -polly-ast -analyze < %s | FileCheck %s --check-prefix=AST
; RUN: opt %loadPolly -polly-codegen -S < %s | FileCheck %s
+; TODO: FIXME: Simplify the context.
+; AST: if (n >= 1 && 0 == n <= -1)
+
; CHECK: entry:
; CHECK-NEXT: %0 = zext i32 %n to i64
; CHECK: polly.split_new_and_old:
-; CHECK-NEXT: %1 = icmp sge i64 %0, 1
-; CHECK-NEXT: br i1 %1, label %polly.start, label %for.body4
-
+; CHECK-NEXT: %1 = sext i32 %n to i64
+; CHECK-NEXT: %2 = icmp sge i64 %1, 1
+; CHECK-NEXT: %3 = sext i32 %n to i64
+; CHECK-NEXT: %4 = icmp sle i64 %3, -1
+; CHECK-NEXT: %5 = sext i1 %4 to i64
+; CHECK-NEXT: %6 = icmp eq i64 0, %5
+; CHECK-NEXT: %7 = and i1 %2, %6
+; CHECK-NEXT: br i1 %7, label %polly.start, label %for.body4
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
diff --git a/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll b/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
index dd806fe9f7f..07c92e53444 100644
--- a/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
+++ b/polly/test/Isl/CodeGen/scop_never_executed_runtime_check_location.ll
@@ -3,11 +3,12 @@
; Verify that we generate the runtime check code after the conditional branch
; in the SCoP region entering block (here %entry).
;
-; CHECK: entry:
-; CHECK: %[[T0:[._a-zA-Z0-9]]] = zext i32 %n to i64
-; CHECK: br i1 false
+; CHECK: entry:
+; CHECK-NEXT: %0 = zext i32 %n to i64
+; CHECK-NEXT: br i1 false
;
-; CHECK: %[[T1:[._a-zA-Z0-9]]] = icmp sge i64 %[[T0]], 1
+; CHECK: %[[T0:[._a-zA-Z0-9]]] = sext i32 %n to i64
+; CHECK: %[[T1:[._a-zA-Z0-9]]] = icmp sge i64 %[[T0]], 1
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
OpenPOWER on IntegriCloud