summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--polly/include/polly/ScopInfo.h2
-rw-r--r--polly/lib/Analysis/ScopInfo.cpp46
-rw-r--r--polly/lib/CodeGen/IslAst.cpp44
3 files changed, 43 insertions, 49 deletions
diff --git a/polly/include/polly/ScopInfo.h b/polly/include/polly/ScopInfo.h
index 3cc97ab8fca..0fa8aaaa5f8 100644
--- a/polly/include/polly/ScopInfo.h
+++ b/polly/include/polly/ScopInfo.h
@@ -715,7 +715,7 @@ public:
/// @brief Pair of minimal/maximal access vectors representing
/// read write and read only accesses
- using MinMaxVectorPairTy = std::pair<MinMaxVectorTy *,MinMaxVectorTy *>;
+ using MinMaxVectorPairTy = std::pair<MinMaxVectorTy *, MinMaxVectorTy *>;
/// @brief Vector of pair of minimal/maximal access vectors representing
/// non read only and read only accesses for each alias group.
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index 15c1b76985c..e66245e4f29 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -1467,9 +1467,9 @@ static __isl_give isl_set *getAccessDomain(MemoryAccess *MA) {
/// @brief Wrapper function to calculate minimal/maximal accesses to each array.
static bool calculateMinMaxAccess(__isl_take isl_union_map *Accesses,
- __isl_take isl_union_set *Domains,
- __isl_take isl_set *AssumedContext,
- Scop::MinMaxVectorTy *MinMaxAccesses){
+ __isl_take isl_union_set *Domains,
+ __isl_take isl_set *AssumedContext,
+ Scop::MinMaxVectorTy *MinMaxAccesses) {
Accesses = isl_union_map_intersect_domain(Accesses, Domains);
isl_union_set *Locations = isl_union_map_range(Accesses);
@@ -1582,7 +1582,7 @@ bool Scop::buildAliasGroups(AliasAnalysis &AA) {
// If we don't have read only pointers check if there are at least two
// non read only pointers, otherwise clear the alias group.
- if (ReadOnlyPairs.empty() && NonReadOnlyBaseValues.size() <= 1){
+ if (ReadOnlyPairs.empty() && NonReadOnlyBaseValues.size() <= 1) {
AG.clear();
continue;
}
@@ -1603,15 +1603,14 @@ bool Scop::buildAliasGroups(AliasAnalysis &AA) {
for (MemoryAccess *MA : AG)
Accesses = isl_union_map_add_map(Accesses, MA->getAccessRelation());
- bool Valid = calculateMinMaxAccess(Accesses, getDomains(),
- getAssumedContext(),
- MinMaxAccessesNonReadOnly);
+ bool Valid = calculateMinMaxAccess(
+ Accesses, getDomains(), getAssumedContext(), MinMaxAccessesNonReadOnly);
// Bail out if the number of values we need to compare is too large.
// This is important as the number of comparisions grows quadratically with
// the number of values we need to compare.
if (!Valid || (MinMaxAccessesNonReadOnly->size() + !ReadOnlyPairs.empty() >
- RunTimeChecksMaxArraysPerGroup)){
+ RunTimeChecksMaxArraysPerGroup)) {
for (MinMaxAccessTy &MMA : *(MinMaxAccessesNonReadOnly)) {
isl_pw_multi_aff_free(MMA.first);
isl_pw_multi_aff_free(MMA.second);
@@ -1629,9 +1628,9 @@ bool Scop::buildAliasGroups(AliasAnalysis &AA) {
for (MemoryAccess *MA : ReadOnlyPair.second)
Accesses = isl_union_map_add_map(Accesses, MA->getAccessRelation());
- Valid = calculateMinMaxAccess(Accesses, getDomains(),getAssumedContext(),
+ Valid = calculateMinMaxAccess(Accesses, getDomains(), getAssumedContext(),
MinMaxAccessesReadOnly);
- MinMaxVectorPairTy pair(MinMaxAccessesNonReadOnly,MinMaxAccessesReadOnly);
+ MinMaxVectorPairTy pair(MinMaxAccessesNonReadOnly, MinMaxAccessesReadOnly);
MinMaxAliasGroups.push_back(pair);
if (!Valid)
@@ -1788,39 +1787,38 @@ void Scop::printContext(raw_ostream &OS) const {
}
void Scop::printAliasAssumptions(raw_ostream &OS) const {
- int noOfGroups=0;
- for (const MinMaxVectorPairTy &Pair : MinMaxAliasGroups){
+ int noOfGroups = 0;
+ for (const MinMaxVectorPairTy &Pair : MinMaxAliasGroups) {
if (Pair.second->size() == 0)
noOfGroups += 1;
else
noOfGroups += Pair.second->size();
}
- OS.indent(4) << "Alias Groups (" << noOfGroups << "):\n";
+ OS.indent(4) << "Alias Groups (" << noOfGroups << "):\n";
if (MinMaxAliasGroups.empty()) {
OS.indent(8) << "n/a\n";
return;
}
- for (const MinMaxVectorPairTy &Pair : MinMaxAliasGroups){
+ for (const MinMaxVectorPairTy &Pair : MinMaxAliasGroups) {
// If the group has no read only accesses print the write accesses.
- if (Pair.second->empty()){
+ if (Pair.second->empty()) {
OS.indent(8) << "[[";
- for (MinMaxAccessTy &MMANonReadOnly : *(Pair.first)){
- OS << " <" << MMANonReadOnly.first << ", "
- << MMANonReadOnly.second << ">";
+ for (MinMaxAccessTy &MMANonReadOnly : *(Pair.first)) {
+ OS << " <" << MMANonReadOnly.first << ", " << MMANonReadOnly.second
+ << ">";
}
OS << " ]]\n";
}
- for (MinMaxAccessTy &MMAReadOnly : *(Pair.second)){
+ for (MinMaxAccessTy &MMAReadOnly : *(Pair.second)) {
OS.indent(8) << "[[";
- OS << " <" << MMAReadOnly.first << ", "
- << MMAReadOnly.second << ">";
- for (MinMaxAccessTy &MMANonReadOnly : *(Pair.first)){
- OS << " <" << MMANonReadOnly.first << ", "
- << MMANonReadOnly.second << ">";
+ OS << " <" << MMAReadOnly.first << ", " << MMAReadOnly.second << ">";
+ for (MinMaxAccessTy &MMANonReadOnly : *(Pair.first)) {
+ OS << " <" << MMANonReadOnly.first << ", " << MMANonReadOnly.second
+ << ">";
}
OS << " ]]\n";
}
diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp
index 7d9ce1a3627..66b3f2995ad 100644
--- a/polly/lib/CodeGen/IslAst.cpp
+++ b/polly/lib/CodeGen/IslAst.cpp
@@ -305,26 +305,22 @@ static __isl_give isl_ast_node *AtEachDomain(__isl_take isl_ast_node *Node,
// Build alias check condition given a pair of minimal/maximal access.
static __isl_give isl_ast_expr *buildCondition(__isl_keep isl_ast_build *Build,
- Scop::MinMaxAccessTy *It0,
- Scop::MinMaxAccessTy *It1){
- isl_ast_expr *NonAliasGroup,*MinExpr, *MaxExpr;
- MinExpr =
- isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
- Build, isl_pw_multi_aff_copy(It0->first)));
- MaxExpr =
- isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
- Build, isl_pw_multi_aff_copy(It1->second)));
- NonAliasGroup = isl_ast_expr_le(MaxExpr, MinExpr);
- MinExpr =
- isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
- Build, isl_pw_multi_aff_copy(It1->first)));
- MaxExpr =
- isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
- Build, isl_pw_multi_aff_copy(It0->second)));
- NonAliasGroup =
- isl_ast_expr_or(NonAliasGroup, isl_ast_expr_le(MaxExpr, MinExpr));
-
- return NonAliasGroup;
+ Scop::MinMaxAccessTy *It0,
+ Scop::MinMaxAccessTy *It1) {
+ isl_ast_expr *NonAliasGroup, *MinExpr, *MaxExpr;
+ MinExpr = isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
+ Build, isl_pw_multi_aff_copy(It0->first)));
+ MaxExpr = isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
+ Build, isl_pw_multi_aff_copy(It1->second)));
+ NonAliasGroup = isl_ast_expr_le(MaxExpr, MinExpr);
+ MinExpr = isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
+ Build, isl_pw_multi_aff_copy(It1->first)));
+ MaxExpr = isl_ast_expr_address_of(isl_ast_build_access_from_pw_multi_aff(
+ Build, isl_pw_multi_aff_copy(It0->second)));
+ NonAliasGroup =
+ isl_ast_expr_or(NonAliasGroup, isl_ast_expr_le(MaxExpr, MinExpr));
+
+ return NonAliasGroup;
}
void IslAst::buildRunCondition(__isl_keep isl_ast_build *Build) {
@@ -345,11 +341,11 @@ void IslAst::buildRunCondition(__isl_keep isl_ast_build *Build) {
for (auto RWAccIt0 = MinMaxReadWrite->begin(); RWAccIt0 != RWAccEnd;
++RWAccIt0) {
for (auto RWAccIt1 = RWAccIt0 + 1; RWAccIt1 != RWAccEnd; ++RWAccIt1)
- RunCondition = isl_ast_expr_and(RunCondition,
- buildCondition(Build,RWAccIt0,RWAccIt1));
+ RunCondition = isl_ast_expr_and(
+ RunCondition, buildCondition(Build, RWAccIt0, RWAccIt1));
for (Scop::MinMaxAccessTy &ROAccIt : *MinMaxReadOnly)
- RunCondition = isl_ast_expr_and(RunCondition,
- buildCondition(Build,RWAccIt0,&ROAccIt));
+ RunCondition = isl_ast_expr_and(
+ RunCondition, buildCondition(Build, RWAccIt0, &ROAccIt));
}
}
}
OpenPOWER on IntegriCloud