[polly] r308842 - Move applyScheduleToAccessRelation to isl++
Tobias Grosser via llvm-commits
llvm-commits at lists.llvm.org
Sat Jul 22 21:08:52 PDT 2017
Author: grosser
Date: Sat Jul 22 21:08:52 2017
New Revision: 308842
URL: http://llvm.org/viewvc/llvm-project?rev=308842&view=rev
Log:
Move applyScheduleToAccessRelation to isl++
Modified:
polly/trunk/include/polly/ScopInfo.h
polly/trunk/lib/Analysis/ScopInfo.cpp
polly/trunk/lib/CodeGen/IslAst.cpp
polly/trunk/lib/CodeGen/IslNodeBuilder.cpp
Modified: polly/trunk/include/polly/ScopInfo.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/include/polly/ScopInfo.h?rev=308842&r1=308841&r2=308842&view=diff
==============================================================================
--- polly/trunk/include/polly/ScopInfo.h (original)
+++ polly/trunk/include/polly/ScopInfo.h Sat Jul 22 21:08:52 2017
@@ -834,8 +834,8 @@ public:
isl::map getAddressFunction() const;
/// Return the access relation after the schedule was applied.
- __isl_give isl_pw_multi_aff *
- applyScheduleToAccessRelation(__isl_take isl_union_map *Schedule) const;
+ isl::pw_multi_aff
+ applyScheduleToAccessRelation(isl::union_map Schedule) const;
/// Get an isl string representing the access function read from IR.
std::string getOriginalAccessRelationStr() const;
Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=308842&r1=308841&r2=308842&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Sat Jul 22 21:08:52 2017
@@ -672,17 +672,16 @@ isl::map MemoryAccess::getAddressFunctio
return getAccessRelation().lexmin();
}
-__isl_give isl_pw_multi_aff *MemoryAccess::applyScheduleToAccessRelation(
- __isl_take isl_union_map *USchedule) const {
- isl_map *Schedule, *ScheduledAccRel;
- isl_union_set *UDomain;
+isl::pw_multi_aff
+MemoryAccess::applyScheduleToAccessRelation(isl::union_map USchedule) const {
+ isl::map Schedule, ScheduledAccRel;
+ isl::union_set UDomain;
- UDomain = isl_union_set_from_set(getStatement()->getDomain());
- USchedule = isl_union_map_intersect_domain(USchedule, UDomain);
- Schedule = isl_map_from_union_map(USchedule);
- ScheduledAccRel =
- isl_map_apply_domain(getAddressFunction().release(), Schedule);
- return isl_pw_multi_aff_from_map(ScheduledAccRel);
+ UDomain = isl::manage(getStatement()->getDomain());
+ USchedule = USchedule.intersect_domain(UDomain);
+ Schedule = isl::map::from_union_map(USchedule);
+ ScheduledAccRel = getAddressFunction().apply_domain(Schedule);
+ return isl::pw_multi_aff::from_map(ScheduledAccRel);
}
isl::map MemoryAccess::getOriginalAccessRelation() const {
Modified: polly/trunk/lib/CodeGen/IslAst.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/IslAst.cpp?rev=308842&r1=308841&r2=308842&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/IslAst.cpp (original)
+++ polly/trunk/lib/CodeGen/IslAst.cpp Sat Jul 22 21:08:52 2017
@@ -594,7 +594,7 @@ static __isl_give isl_printer *cbPrintUs
isl::manage(isl_ast_build_copy(IslAstInfo::getBuild(Node)));
if (MemAcc->isAffine()) {
isl_pw_multi_aff *PwmaPtr =
- MemAcc->applyScheduleToAccessRelation(Build.get_schedule().release());
+ MemAcc->applyScheduleToAccessRelation(Build.get_schedule()).release();
isl::pw_multi_aff Pwma = isl::manage(PwmaPtr);
isl::ast_expr AccessExpr = Build.access_from(Pwma);
P = isl_printer_print_ast_expr(P, AccessExpr.get());
Modified: polly/trunk/lib/CodeGen/IslNodeBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/CodeGen/IslNodeBuilder.cpp?rev=308842&r1=308841&r2=308842&view=diff
==============================================================================
--- polly/trunk/lib/CodeGen/IslNodeBuilder.cpp (original)
+++ polly/trunk/lib/CodeGen/IslNodeBuilder.cpp Sat Jul 22 21:08:52 2017
@@ -820,7 +820,8 @@ IslNodeBuilder::createNewAccesses(ScopSt
}
#endif
- auto PWAccRel = MA->applyScheduleToAccessRelation(Schedule);
+ auto PWAccRel =
+ MA->applyScheduleToAccessRelation(isl::manage(Schedule)).release();
// isl cannot generate an index expression for access-nothing accesses.
isl::set AccDomain =
More information about the llvm-commits
mailing list