[polly] r233507 - Gist-simplify access relations in the context of domain constraints
Tobias Grosser
tobias at grosser.es
Sun Mar 29 17:07:50 PDT 2015
Author: grosser
Date: Sun Mar 29 19:07:50 2015
New Revision: 233507
URL: http://llvm.org/viewvc/llvm-project?rev=233507&view=rev
Log:
Gist-simplify access relations in the context of domain constraints
This simplifies already one test case and is needed for upcoming improvements
to our delinearization.
Modified:
polly/trunk/lib/Analysis/ScopInfo.cpp
polly/trunk/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=233507&r1=233506&r2=233507&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Sun Mar 29 19:07:50 2015
@@ -622,6 +622,7 @@ MemoryAccess::MemoryAccess(const IRAcces
isl_map_set_tuple_id(AccessRelation, isl_dim_out, BaseAddrId);
assumeNoOutOfBound(Access);
+ AccessRelation = isl_map_gist_domain(AccessRelation, Statement->getDomain());
isl_space_free(Space);
}
Modified: polly/trunk/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll?rev=233507&r1=233506&r2=233507&view=diff
==============================================================================
--- polly/trunk/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll (original)
+++ polly/trunk/test/ScopInfo/NonAffine/non_affine_but_sdiv.ll Sun Mar 29 19:07:50 2015
@@ -1,9 +1,9 @@
; RUN: opt %loadPolly -polly-detect-unprofitable -polly-scops -analyze < %s | FileCheck %s
;
; CHECK: ReadAccess := [Reduction Type: NONE] [Scalar: 0]
-; CHECK: [N] -> { Stmt_for_body[i0] -> MemRef_A[o0] : (N >= 0 and 5o0 >= -4 + N + 5i0 and 5o0 <= N + 5i0) or (N <= -1 and 5o0 >= N + 5i0 and 5o0 <= 4 + N + 5i0) };
+; CHECK: [N] -> { Stmt_for_body[i0] -> MemRef_A[o0] : 5o0 >= -4 + N + 5i0 and 5o0 <= N + 5i0 };
; CHECK: ReadAccess := [Reduction Type: NONE] [Scalar: 0]
-; CHECK: [N] -> { Stmt_for_body[i0] -> MemRef_A[o0] : (N <= 0 and 5o0 <= -N + 5i0 and 5o0 >= -4 - N + 5i0) or (N >= 1 and 5o0 <= 4 - N + 5i0 and 5o0 >= -N + 5i0) };
+; CHECK: [N] -> { Stmt_for_body[i0] -> MemRef_A[o0] : 5o0 <= 4 - N + 5i0 and 5o0 >= -N + 5i0 };
;
; void f(int *A, int N) {
; for (int i = 0; i < N; i++)
More information about the llvm-commits
mailing list