[polly] r294568 - [IslAst] Print the ScopArray name to mark reductions
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 9 00:06:16 PST 2017
Author: grosser
Date: Thu Feb 9 02:06:15 2017
New Revision: 294568
URL: http://llvm.org/viewvc/llvm-project?rev=294568&view=rev
Log:
[IslAst] Print the ScopArray name to mark reductions
Before this change we used the name of the base pointer to mark reductions. This
is imprecise as the canonical reference is the ScopArray itself and not the
basepointer of a reduction. Using the base pointer of reductions is problematic
in cases where a single ScopArray is referenced through two different base
pointers.
This change removes unnecessary uses of MemoryAddress::getBaseAddr() in
preparation for https://reviews.llvm.org/D28518.
Modified:
polly/trunk/lib/CodeGen/IslAst.cpp
polly/trunk/test/Isl/Ast/reduction_clauses_multidimensional_access.ll
polly/trunk/test/Isl/Ast/reduction_clauses_onedimensional_access.ll
polly/trunk/test/Isl/Ast/reduction_different_reduction_clauses.ll
polly/trunk/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll
polly/trunk/test/Isl/Ast/reduction_modulo_schedule.ll
Modified: polly/trunk/lib/CodeGen/IslAst.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/IslAst.cpp?rev=294568&r1=294567&r2=294568&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/IslAst.cpp (original)
+++ polly/trunk/lib/CodeGen/IslAst.cpp Thu Feb 9 02:06:15 2017
@@ -124,7 +124,7 @@ static const std::string getBrokenReduct
for (MemoryAccess *MA : *BrokenReductions)
if (MA->isWrite())
Clauses[MA->getReductionType()] +=
- ", " + MA->getBaseAddr()->getName().str();
+ ", " + MA->getScopArrayInfo()->getName();
// Now print the reductions sorted by type. Each type will cause a clause
// like: reduction (+ : sum0, sum1, sum2)
Modified: polly/trunk/test/Isl/Ast/reduction_clauses_multidimensional_access.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/Ast/reduction_clauses_multidimensional_access.ll?rev=294568&r1=294567&r2=294568&view=diff
==============================================================================
--- polly/trunk/test/Isl/Ast/reduction_clauses_multidimensional_access.ll (original)
+++ polly/trunk/test/Isl/Ast/reduction_clauses_multidimensional_access.ll Thu Feb 9 02:06:15 2017
@@ -1,7 +1,7 @@
; RUN: opt %loadPolly -polly-ast -polly-ast-detect-parallel -analyze < %s | FileCheck %s
; RUN: opt %loadPolly -polyhedral-info -polly-check-parallel -analyze < %s | FileCheck %s -check-prefix=PINFO
;
-; CHECK: #pragma known-parallel reduction (^ : sum)
+; CHECK: #pragma known-parallel reduction (^ : MemRef_sum)
; void f(int N, int M, int P, int sum[P][M]) {
; PINFO: for.cond: Loop is not parallel.
; for (int i = 0; i < N; i++)
Modified: polly/trunk/test/Isl/Ast/reduction_clauses_onedimensional_access.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/Ast/reduction_clauses_onedimensional_access.ll?rev=294568&r1=294567&r2=294568&view=diff
==============================================================================
--- polly/trunk/test/Isl/Ast/reduction_clauses_onedimensional_access.ll (original)
+++ polly/trunk/test/Isl/Ast/reduction_clauses_onedimensional_access.ll Thu Feb 9 02:06:15 2017
@@ -1,6 +1,6 @@
; RUN: opt %loadPolly -polly-ast -polly-ast-detect-parallel -analyze < %s | FileCheck %s
;
-; CHECK: #pragma known-parallel reduction (^ : sum)
+; CHECK: #pragma known-parallel reduction (^ : MemRef_sum)
; void f(int N, int M, int *sum) {
; for (int i = 0; i < N; i++)
; CHECK: #pragma simd
Modified: polly/trunk/test/Isl/Ast/reduction_different_reduction_clauses.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/Ast/reduction_different_reduction_clauses.ll?rev=294568&r1=294567&r2=294568&view=diff
==============================================================================
--- polly/trunk/test/Isl/Ast/reduction_different_reduction_clauses.ll (original)
+++ polly/trunk/test/Isl/Ast/reduction_different_reduction_clauses.ll Thu Feb 9 02:06:15 2017
@@ -1,7 +1,7 @@
; RUN: opt %loadPolly -basicaa -polly-ast -polly-ast-detect-parallel -analyze < %s | FileCheck %s
;
-; CHECK: #pragma simd reduction (+ : sum{{[1,2]}}, sum{{[1,2]}}) reduction (* : prod) reduction (| : or) reduction (& : and)
-; CHECK: #pragma known-parallel reduction (+ : sum{{[1,2]}}, sum{{[1,2]}}) reduction (* : prod) reduction (| : or) reduction (& : and)
+; CHECK: #pragma simd reduction (+ : MemRef_sum{{[1,2]}}, MemRef_sum{{[1,2]}}) reduction (* : MemRef_prod) reduction (| : MemRef_or) reduction (& : MemRef_and)
+; CHECK: #pragma known-parallel reduction (+ : MemRef_sum{{[1,2]}}, MemRef_sum{{[1,2]}}) reduction (* : MemRef_prod) reduction (| : MemRef_or) reduction (& : MemRef_and)
; CHECK: for (int c0 = 0; c0 < N; c0 += 1)
; CHECK: Stmt_for_body(c0);
;
Modified: polly/trunk/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll?rev=294568&r1=294567&r2=294568&view=diff
==============================================================================
--- polly/trunk/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll (original)
+++ polly/trunk/test/Isl/Ast/reduction_modulo_and_loop_reversal_schedule.ll Thu Feb 9 02:06:15 2017
@@ -1,13 +1,13 @@
; RUN: opt %loadPolly -polly-import-jscop-dir=%S -polly-import-jscop -polly-ast -polly-ast-detect-parallel -analyze < %s | FileCheck %s
;
-; CHECK: #pragma known-parallel reduction (+ : A)
+; CHECK: #pragma known-parallel reduction (+ : MemRef_A)
; CHECK-NEXT: for (int c0 = 0; c0 <= 2; c0 += 1) {
; CHECK-NEXT: if (c0 == 1) {
; CHECK-NEXT: #pragma simd
; CHECK-NEXT: for (int c1 = 0; c1 < 2 * n; c1 += 1)
; CHECK-NEXT: Stmt_S1(c1);
; CHECK-NEXT: } else
-; CHECK-NEXT: #pragma simd reduction (+ : A)
+; CHECK-NEXT: #pragma simd reduction (+ : MemRef_A)
; CHECK-NEXT: for (int c1 = (-c0 / 2) + 2; c1 <= 2 * n; c1 += 2)
; CHECK-NEXT: Stmt_S0(2 * n - c1);
; CHECK-NEXT: }
Modified: polly/trunk/test/Isl/Ast/reduction_modulo_schedule.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/Isl/Ast/reduction_modulo_schedule.ll?rev=294568&r1=294567&r2=294568&view=diff
==============================================================================
--- polly/trunk/test/Isl/Ast/reduction_modulo_schedule.ll (original)
+++ polly/trunk/test/Isl/Ast/reduction_modulo_schedule.ll Thu Feb 9 02:06:15 2017
@@ -1,14 +1,14 @@
; RUN: opt %loadPolly -polly-import-jscop-dir=%S -polly-import-jscop -polly-ast -polly-ast-detect-parallel -analyze < %s | FileCheck %s
; RUN: opt %loadPolly -polyhedral-info -polly-check-parallel -analyze < %s | FileCheck %s -check-prefix=PINFO
;
-; CHECK: #pragma known-parallel reduction (+ : A)
+; CHECK: #pragma known-parallel reduction (+ : MemRef_A)
; CHECK-NEXT: for (int c0 = 0; c0 <= 2; c0 += 1) {
; CHECK-NEXT: if (c0 == 1) {
; CHECK-NEXT: #pragma simd
; CHECK-NEXT: for (int c1 = 0; c1 < 2 * n; c1 += 1)
; CHECK-NEXT: Stmt_S1(c1);
; CHECK-NEXT: } else
-; CHECK-NEXT: #pragma simd reduction (+ : A)
+; CHECK-NEXT: #pragma simd reduction (+ : MemRef_A)
; CHECK-NEXT: for (int c1 = c0 / 2; c1 < 2 * n; c1 += 2)
; CHECK-NEXT: Stmt_S0(c1);
; CHECK-NEXT: }
More information about the llvm-commits
mailing list