[llvm-commits] [polly] r141252 - in /polly/trunk: include/polly/ScopInfo.h lib/Analysis/Dependences.cpp lib/Analysis/ScopInfo.cpp
Tobias Grosser
grosser at fim.uni-passau.de
Wed Oct 5 17:03:42 PDT 2011
Author: grosser
Date: Wed Oct 5 19:03:42 2011
New Revision: 141252
URL: http://llvm.org/viewvc/llvm-project?rev=141252&view=rev
Log:
Export the parameter space directly from the SCoP.
Use this to simplify some code.
Modified:
polly/trunk/include/polly/ScopInfo.h
polly/trunk/lib/Analysis/Dependences.cpp
polly/trunk/lib/Analysis/ScopInfo.cpp
Modified: polly/trunk/include/polly/ScopInfo.h
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/include/polly/ScopInfo.h?rev=141252&r1=141251&r2=141252&view=diff
==============================================================================
--- polly/trunk/include/polly/ScopInfo.h (original)
+++ polly/trunk/include/polly/ScopInfo.h Wed Oct 5 19:03:42 2011
@@ -22,6 +22,8 @@
#include "llvm/Analysis/RegionPass.h"
+#include "isl/ctx.h"
+
using namespace llvm;
namespace llvm {
@@ -490,6 +492,7 @@
///
/// @return The constraint on parameter of this Scop.
inline isl_set *getContext() const { return Context; }
+ __isl_give isl_space *getParamSpace() const;
/// @brief Get an isl string representing the context.
std::string getContextStr() const;
Modified: polly/trunk/lib/Analysis/Dependences.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/Dependences.cpp?rev=141252&r1=141251&r2=141252&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/Dependences.cpp (original)
+++ polly/trunk/lib/Analysis/Dependences.cpp Wed Oct 5 19:03:42 2011
@@ -52,9 +52,7 @@
}
bool Dependences::runOnScop(Scop &S) {
- isl_space *Space = isl_space_alloc(S.getCtx(), 0, 0, 0);
- isl_space *Model = isl_set_get_dim(S.getContext());
- Space = isl_space_align_params(Space, Model);
+ isl_space *Space = S.getParamSpace();
if (sink)
isl_union_map_free(sink);
@@ -155,13 +153,10 @@
if (LegalityCheckDisabled)
return true;
- isl_space *Space = isl_space_alloc(S.getCtx(), 0, 0, 0);
+ isl_space *Space = S.getParamSpace();
isl_union_map *schedule = isl_union_map_empty(Space);
- isl_space *Model = isl_set_get_space(S.getContext());
- schedule = isl_union_map_align_params(schedule, Model);
-
for (Scop::iterator SI = S.begin(), SE = S.end(); SI != SE; ++SI) {
ScopStmt *Stmt = *SI;
@@ -242,11 +237,8 @@
}
isl_union_map* getCombinedScheduleForSpace(Scop *scop, unsigned dimLevel) {
- isl_space *Space = isl_space_alloc(scop->getCtx(), 0, 0, 0);
-
+ isl_space *Space = scop->getParamSpace();
isl_union_map *schedule = isl_union_map_empty(Space);
- isl_space *Model = isl_set_get_space(scop->getContext());
- schedule = isl_union_map_align_params(schedule, Model);
for (Scop::iterator SI = scop->begin(), SE = scop->end(); SI != SE; ++SI) {
ScopStmt *Stmt = *SI;
@@ -264,7 +256,6 @@
unsigned parallelDimension) {
Scop *S = &getCurScop();
isl_union_map *schedule = getCombinedScheduleForSpace(S, parallelDimension);
- isl_space *SpaceModel = isl_union_map_get_space(schedule);
// Calculate distance vector.
isl_union_set *scheduleSubset;
@@ -330,7 +321,7 @@
}
isl_set *allZero = isl_set_from_basic_set(allZeroBS);
- allZero = isl_set_align_params(allZero, isl_space_copy(SpaceModel));
+ allZero = isl_set_align_params(allZero, S->getParamSpace());
// All zero, last unknown.
// [0, 0, 0, ?]
@@ -350,7 +341,7 @@
isl_local_space_free(LocalSpace);
isl_set *lastUnknown = isl_set_from_basic_set(lastUnknownBS);
-lastUnknown = isl_set_align_params(lastUnknown, SpaceModel);
+ lastUnknown = isl_set_align_params(lastUnknown, S->getParamSpace());
// Valid distance vectors
isl_set *validDistances = isl_set_subtract(lastUnknown, allZero);
Modified: polly/trunk/lib/Analysis/ScopInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Analysis/ScopInfo.cpp?rev=141252&r1=141251&r2=141252&view=diff
==============================================================================
--- polly/trunk/lib/Analysis/ScopInfo.cpp (original)
+++ polly/trunk/lib/Analysis/ScopInfo.cpp Wed Oct 5 19:03:42 2011
@@ -340,8 +340,8 @@
AccessRelation = isl_map_set_tuple_name(AccessRelation, isl_dim_out,
getBaseName().c_str());
- isl_space *Model = isl_set_get_space(Statement->getParent()->getContext());
- AccessRelation = isl_map_align_params(AccessRelation, Model);
+ isl_space *ParamSpace = Statement->getParent()->getParamSpace();
+ AccessRelation = isl_map_align_params(AccessRelation, ParamSpace);
}
MemoryAccess::MemoryAccess(const Value *BaseAddress, ScopStmt *Statement) {
@@ -352,8 +352,8 @@
isl_basic_map *BasicAccessMap = createBasicAccessMap(Statement);
AccessRelation = isl_map_from_basic_map(BasicAccessMap);
- isl_space *Model = isl_set_get_space(Statement->getParent()->getContext());
- AccessRelation = isl_map_align_params(AccessRelation, Model);
+ isl_space *ParamSpace = Statement->getParent()->getParamSpace();
+ AccessRelation = isl_map_align_params(AccessRelation, ParamSpace);
}
void MemoryAccess::print(raw_ostream &OS) const {
@@ -564,8 +564,7 @@
isl_int_clear(v);
Scattering = isl_map_from_basic_map(bmap);
- isl_space *Model = isl_set_get_space(getParent()->getContext());
- Scattering = isl_map_align_params(Scattering, Model);
+ Scattering = isl_map_align_params(Scattering, Parent.getParamSpace());
}
void ScopStmt::buildAccesses(TempScop &tempScop, const Region &CurRegion) {
@@ -642,7 +641,7 @@
Space = isl_space_set_tuple_name(Space, isl_dim_set, getBaseName());
Domain = isl_set_universe(isl_space_copy(Space));
- Domain = isl_set_align_params(Domain, isl_set_get_space(Parent.getContext()));
+ Domain = isl_set_align_params(Domain, Parent.getParamSpace());
isl_int v;
isl_int_init(v);
@@ -738,8 +737,7 @@
Domain = isl_set_read_from_str(Parent.getCtx(),
IterationDomainString.c_str());
Domain = isl_set_set_tuple_name(Domain, getBaseName());
- isl_space *Model = isl_set_get_space(getParent()->getContext());
- Domain = isl_set_align_params(Domain, isl_space_copy(Model));
+ Domain = isl_set_align_params(Domain, parent.getParamSpace());
// Build scattering.
unsigned ScatSpace = Parent.getMaxLoopDepth() * 2 + 1;
@@ -762,7 +760,7 @@
bmap = isl_basic_map_add_constraint(bmap, c);
isl_int_clear(v);
Scattering = isl_map_from_basic_map(bmap);
- Scattering = isl_map_align_params(Scattering, Model);
+ Scattering = isl_map_align_params(Scattering, parent.getParamSpace());
// Build memory accesses, use SetVector to keep the order of memory accesses
// and prevent the same memory access inserted more than once.
@@ -937,6 +935,10 @@
return EntryName + "---" + ExitName;
}
+__isl_give isl_space *Scop::getParamSpace() const {
+ return isl_set_get_space(this->Context);
+}
+
void Scop::printContext(raw_ostream &OS) const {
OS << "Context:\n";
More information about the llvm-commits
mailing list