diff options
12 files changed, 65 insertions, 20 deletions
diff --git a/polly/test/ScopDetect/invalid-latch-conditions.ll b/polly/test/ScopDetect/invalid-latch-conditions.ll index 4423705eec8..81133b7fc92 100644 --- a/polly/test/ScopDetect/invalid-latch-conditions.ll +++ b/polly/test/ScopDetect/invalid-latch-conditions.ll @@ -1,6 +1,12 @@ -; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s -; RUN: opt %loadPolly -polly-allow-nonaffine-loops -polly-detect-unprofitable -polly-detect -analyze < %s | FileCheck %s --check-prefix=NALOOPS -; RUN: opt %loadPolly -polly-allow-nonaffine-loops -polly-detect -analyze < %s | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadPolly -polly-detect-unprofitable=false \ +; RUN: -polly-detect -analyze < %s | FileCheck %s + +; RUN: opt %loadPolly -polly-allow-nonaffine-loops -polly-detect-unprofitable \ +; RUN: -polly-detect -analyze < %s | FileCheck %s --check-prefix=NALOOPS + +; RUN: opt %loadPolly -polly-allow-nonaffine-loops -polly-detect -analyze \ +; RUN: -polly-detect-unprofitable=false < %s | \ +; RUN: FileCheck %s --check-prefix=PROFIT ; The latch conditions of the outer loop are not affine, thus the loop cannot ; handled by the domain generation and needs to be overapproximated. diff --git a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll index fa533d8c910..efe6c801922 100644 --- a/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll +++ b/polly/test/ScopDetect/non-affine-loop-condition-dependent-access.ll @@ -1,7 +1,10 @@ ; RUN: opt %loadPolly -basicaa -polly-detect-unprofitable -polly-detect -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=false -analyze < %s | FileCheck %s --check-prefix=REJECTNONAFFINELOOPS ; RUN: opt %loadPolly -basicaa -polly-detect-unprofitable -polly-detect -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS ; RUN: opt %loadPolly -basicaa -polly-detect-unprofitable -polly-detect -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES -; RUN: opt %loadPolly -basicaa -polly-detect -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadPolly -basicaa -polly-detect -polly-detect-unprofitable=false \ +; RUN: -polly-allow-nonaffine -polly-allow-nonaffine-branches \ +; RUN: -polly-allow-nonaffine-loops=true -analyze < %s \ +; RUN: | FileCheck %s --check-prefix=PROFIT ; ; Here we have a non-affine loop but also a non-affine access which should ; be rejected as long as -polly-allow-nonaffine isn't given. diff --git a/polly/test/ScopDetect/non-affine-loop.ll b/polly/test/ScopDetect/non-affine-loop.ll index 3317d35edfe..873c1e5aa4e 100644 --- a/polly/test/ScopDetect/non-affine-loop.ll +++ b/polly/test/ScopDetect/non-affine-loop.ll @@ -12,7 +12,8 @@ ; RUN: -polly-allow-nonaffine-loops=true -polly-allow-nonaffine \ ; RUN: -analyze < %s | FileCheck %s \ ; RUN: --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES -; RUN: opt %loadPolly -polly-detect -polly-allow-nonaffine-branches \ +; RUN: opt %loadPolly -polly-detect-unprofitable=false \ +; RUN: -polly-detect -polly-allow-nonaffine-branches \ ; RUN: -polly-allow-nonaffine-loops=true -polly-allow-nonaffine \ ; RUN: -analyze < %s | FileCheck %s \ ; RUN: --check-prefix=PROFIT diff --git a/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll b/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll index b856a39aa34..89c53f85166 100644 --- a/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll +++ b/polly/test/ScopDetect/non-beneficial-loops-small-trip-count.ll @@ -1,4 +1,5 @@ -; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s +; RUN: opt %loadPolly -polly-detect-unprofitable=false -polly-detect \ +; RUN: -analyze < %s | FileCheck %s ; ; CHECK-NOT: Valid ; diff --git a/polly/test/ScopDetect/non_affine_loop_condition.ll b/polly/test/ScopDetect/non_affine_loop_condition.ll index e04c0cfae96..215dbe6cfb1 100644 --- a/polly/test/ScopDetect/non_affine_loop_condition.ll +++ b/polly/test/ScopDetect/non_affine_loop_condition.ll @@ -1,5 +1,9 @@ -; RUN: opt %loadPolly -polly-detect-unprofitable -polly-detect -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s -; RUN: opt %loadPolly -polly-detect -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadPolly -polly-detect-unprofitable \ +; RUN: -polly-detect -polly-allow-nonaffine-loops -analyze \ +; RUN: < %s | FileCheck %s +; RUN: opt %loadPolly -polly-detect-unprofitable=false \ +; RUN: -polly-detect -polly-allow-nonaffine-loops -analyze \ +; RUN: < %s | FileCheck %s --check-prefix=PROFIT ; ; void f(int *A) { ; for (int i = 0; i < 1024; i++) { diff --git a/polly/test/ScopDetect/only-one-affine-loop.ll b/polly/test/ScopDetect/only-one-affine-loop.ll index 493866f2df7..60aa0a367c5 100644 --- a/polly/test/ScopDetect/only-one-affine-loop.ll +++ b/polly/test/ScopDetect/only-one-affine-loop.ll @@ -1,4 +1,4 @@ -; RUN: opt %loadPolly -polly-detect -analyze \ +; RUN: opt %loadPolly -polly-detect -polly-detect-unprofitable=false -analyze \ ; RUN: -polly-allow-nonaffine-loops < %s | FileCheck %s ; ; RUN: opt %loadPolly -polly-detect -polly-detect-unprofitable -analyze \ diff --git a/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll b/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll index e479b9bb976..60d1f550a90 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll @@ -1,6 +1,16 @@ -; RUN: opt %loadPolly -polly-detect-unprofitable -pass-remarks-missed="polly-detect" -polly-detect-track-failures -polly-allow-nonaffine-loops=false -polly-detect -analyze < %s 2>&1| FileCheck %s --check-prefix=REJECTNONAFFINELOOPS -; RUN: opt %loadPolly -polly-detect-unprofitable -pass-remarks-missed="polly-detect" -polly-detect-track-failures -polly-allow-nonaffine-loops=true -polly-detect -analyze < %s 2>&1| FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS -; RUN: opt %loadPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures -polly-allow-nonaffine-loops=true -polly-allow-nonaffine -polly-detect -analyze < %s 2>&1| FileCheck %s --check-prefix=ALLOWNONAFFINEALL +; RUN: opt %loadPolly -polly-detect-unprofitable \ +; RUN: -pass-remarks-missed="polly-detect" -polly-detect-track-failures \ +; RUN: -polly-allow-nonaffine-loops=false -polly-detect -analyze \ +; RUN: < %s 2>&1| FileCheck %s --check-prefix=REJECTNONAFFINELOOPS +; RUN: opt %loadPolly -polly-detect-unprofitable \ +; RUN: -pass-remarks-missed="polly-detect" -polly-detect-track-failures \ +; RUN: -polly-allow-nonaffine-loops=true -polly-detect -analyze \ +; RUN: < %s 2>&1| FileCheck %s --check-prefix=ALLOWNONAFFINELOOPS +; RUN: opt %loadPolly -pass-remarks-missed="polly-detect" \ +; RUN: -polly-detect-unprofitable=false \ +; RUN: -polly-detect-track-failures -polly-allow-nonaffine-loops=true \ +; RUN: -polly-allow-nonaffine -polly-detect -analyze < %s 2>&1 \ +; RUN: | FileCheck %s --check-prefix=ALLOWNONAFFINEALL ; void f(int A[], int n) { ; for (int i = 0; i < A[n]; i++) diff --git a/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll b/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll index be8156d44f3..58a2fc3310a 100644 --- a/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll +++ b/polly/test/ScopDetectionDiagnostics/ReportUnprofitable.ll @@ -1,4 +1,6 @@ -; RUN: opt %loadPolly -pass-remarks-missed="polly-detect" -polly-detect-track-failures -polly-detect -analyze < %s 2>&1| FileCheck %s +; RUN: opt %loadPolly -pass-remarks-missed="polly-detect" \ +; RUN: -polly-detect-track-failures -polly-detect -analyze \ +; RUN: -polly-detect-unprofitable=false < %s 2>&1| FileCheck %s target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" ; void onlyWrite(float *A) { diff --git a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll index ada042e3616..4891dee3841 100644 --- a/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll +++ b/polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_1.ll @@ -1,5 +1,11 @@ -; RUN: opt %loadPolly -basicaa -polly-detect-unprofitable -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s -check-prefix=SCALAR -; RUN: opt %loadPolly -basicaa -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s -check-prefix=PROFIT +; RUN: opt %loadPolly -basicaa -polly-detect-unprofitable -polly-scops \ +; RUN: -polly-allow-nonaffine -polly-allow-nonaffine-branches \ +; RUN: -polly-allow-nonaffine-loops=true -analyze < %s | FileCheck %s \ +; RUN: -check-prefix=SCALAR +; RUN: opt %loadPolly -basicaa -polly-scops -polly-allow-nonaffine \ +; RUN: -polly-detect-unprofitable=false \ +; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \ +; RUN: -analyze < %s | FileCheck %s -check-prefix=PROFIT ; ; SCALAR: Function: f ; SCALAR: Region: %bb1---%bb13 diff --git a/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll b/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll index 53c0811a60d..0b18cae25b4 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_conditional_surrounding_non_affine_loop.ll @@ -1,10 +1,12 @@ ; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine-branches \ ; RUN: -polly-allow-nonaffine-loops=true -polly-detect-unprofitable \ ; RUN: -analyze < %s | FileCheck %s --check-prefix=INNERMOST -; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine -polly-detect-unprofitable \ +; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine \ +; RUN: -polly-detect-unprofitable \ ; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \ ; RUN: -analyze < %s | FileCheck %s --check-prefix=ALL ; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine \ +; RUN: -polly-detect-unprofitable=false \ ; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \ ; RUN: -analyze < %s | FileCheck %s --check-prefix=PROFIT ; diff --git a/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll b/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll index b172a3cb597..f45870eac0b 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_loop_condition.ll @@ -1,5 +1,10 @@ -; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s -; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops \ +; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops \ +; RUN: -analyze < %s | FileCheck %s +; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine-branches \ +; RUN: -polly-detect-unprofitable=false \ +; RUN: -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s \ +; RUN: --check-prefix=PROFIT ; RUN: opt %loadPolly -polly-scops -polly-detect-reductions \ diff --git a/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll b/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll index 352ebeefeaa..655761b50d6 100644 --- a/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll +++ b/polly/test/ScopInfo/NonAffine/non_affine_loop_used_later.ll @@ -1,5 +1,10 @@ -; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s -; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s --check-prefix=PROFIT +; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops \ +; RUN: -polly-allow-nonaffine -polly-allow-nonaffine-branches \ +; RUN: -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s +; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine \ +; RUN: -polly-detect-unprofitable=false \ +; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops \ +; RUN: -analyze < %s | FileCheck %s --check-prefix=PROFIT ; ; Verify that we over approximate the read acces of A[j] in the last statement as j is ; computed in a non-affine loop we do not model. |