forked from OSchip/llvm-project
tests: Explicitly state if profitability tests should be used
Polly's profitability heuristic saves compile time by skipping trivial scops or scops were we know no good optimization can be applied. For almost all our tests this heuristic makes little sense as we aim for minimal test cases when testing functionality. Hence, in almost all cases this heuristic is better be disabled. In preparation of disabling Polly's compile time heuristic by default in the test suite we first explicitly enable it in the couple of test cases that really use it (or run with/without heuristic side-by-side). llvm-svn: 249418
This commit is contained in:
parent
85a6e0f870
commit
935f62cf0d
|
@ -1,6 +1,12 @@
|
||||||
; RUN: opt %loadPolly -polly-detect -analyze < %s | FileCheck %s
|
; RUN: opt %loadPolly -polly-detect-unprofitable=false \
|
||||||
; RUN: opt %loadPolly -polly-allow-nonaffine-loops -polly-detect-unprofitable -polly-detect -analyze < %s | FileCheck %s --check-prefix=NALOOPS
|
; RUN: -polly-detect -analyze < %s | FileCheck %s
|
||||||
; RUN: opt %loadPolly -polly-allow-nonaffine-loops -polly-detect -analyze < %s | FileCheck %s --check-prefix=PROFIT
|
|
||||||
|
; 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
|
; The latch conditions of the outer loop are not affine, thus the loop cannot
|
||||||
; handled by the domain generation and needs to be overapproximated.
|
; handled by the domain generation and needs to be overapproximated.
|
||||||
|
|
|
@ -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=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-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-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
|
; 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.
|
; be rejected as long as -polly-allow-nonaffine isn't given.
|
||||||
|
|
|
@ -12,7 +12,8 @@
|
||||||
; RUN: -polly-allow-nonaffine-loops=true -polly-allow-nonaffine \
|
; RUN: -polly-allow-nonaffine-loops=true -polly-allow-nonaffine \
|
||||||
; RUN: -analyze < %s | FileCheck %s \
|
; RUN: -analyze < %s | FileCheck %s \
|
||||||
; RUN: --check-prefix=ALLOWNONAFFINELOOPSANDACCESSES
|
; 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: -polly-allow-nonaffine-loops=true -polly-allow-nonaffine \
|
||||||
; RUN: -analyze < %s | FileCheck %s \
|
; RUN: -analyze < %s | FileCheck %s \
|
||||||
; RUN: --check-prefix=PROFIT
|
; RUN: --check-prefix=PROFIT
|
||||||
|
|
|
@ -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
|
; CHECK-NOT: Valid
|
||||||
;
|
;
|
||||||
|
|
|
@ -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-unprofitable \
|
||||||
; RUN: opt %loadPolly -polly-detect -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s --check-prefix=PROFIT
|
; 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) {
|
; void f(int *A) {
|
||||||
; for (int i = 0; i < 1024; i++) {
|
; for (int i = 0; i < 1024; i++) {
|
||||||
|
|
|
@ -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: -polly-allow-nonaffine-loops < %s | FileCheck %s
|
||||||
;
|
;
|
||||||
; RUN: opt %loadPolly -polly-detect -polly-detect-unprofitable -analyze \
|
; RUN: opt %loadPolly -polly-detect -polly-detect-unprofitable -analyze \
|
||||||
|
|
|
@ -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 \
|
||||||
; 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: -pass-remarks-missed="polly-detect" -polly-detect-track-failures \
|
||||||
; 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: -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) {
|
; void f(int A[], int n) {
|
||||||
; for (int i = 0; i < A[n]; i++)
|
; for (int i = 0; i < A[n]; i++)
|
||||||
|
|
|
@ -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"
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||||
|
|
||||||
; void onlyWrite(float *A) {
|
; void onlyWrite(float *A) {
|
||||||
|
|
|
@ -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-detect-unprofitable -polly-scops \
|
||||||
; 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: -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: Function: f
|
||||||
; SCALAR: Region: %bb1---%bb13
|
; SCALAR: Region: %bb1---%bb13
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine-branches \
|
; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine-branches \
|
||||||
; RUN: -polly-allow-nonaffine-loops=true -polly-detect-unprofitable \
|
; RUN: -polly-allow-nonaffine-loops=true -polly-detect-unprofitable \
|
||||||
; RUN: -analyze < %s | FileCheck %s --check-prefix=INNERMOST
|
; 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: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \
|
||||||
; RUN: -analyze < %s | FileCheck %s --check-prefix=ALL
|
; RUN: -analyze < %s | FileCheck %s --check-prefix=ALL
|
||||||
; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine \
|
; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine \
|
||||||
|
; RUN: -polly-detect-unprofitable=false \
|
||||||
; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \
|
; RUN: -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops=true \
|
||||||
; RUN: -analyze < %s | FileCheck %s --check-prefix=PROFIT
|
; RUN: -analyze < %s | FileCheck %s --check-prefix=PROFIT
|
||||||
;
|
;
|
||||||
|
|
|
@ -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-detect-unprofitable -polly-scops \
|
||||||
; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s --check-prefix=PROFIT
|
; 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 \
|
; RUN: opt %loadPolly -polly-scops -polly-detect-reductions \
|
||||||
|
|
|
@ -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-detect-unprofitable -polly-scops \
|
||||||
; RUN: opt %loadPolly -polly-scops -polly-allow-nonaffine -polly-allow-nonaffine-branches -polly-allow-nonaffine-loops -analyze < %s | FileCheck %s --check-prefix=PROFIT
|
; 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
|
; 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.
|
; computed in a non-affine loop we do not model.
|
||||||
|
|
Loading…
Reference in New Issue