@@ -1136,21 +1136,23 @@ bool ProvenanceGraph::isRecoverable(taco::IndexVar indexVar, std::set<taco::Inde
11361136 return isRecoverablePrecompute (indexVar, defined , producers, consumers);
11371137}
11381138
1139- bool ProvenanceGraph::isRecoverablePrecompute (taco::IndexVar indexVar, std::set<taco::IndexVar> defined , vector<IndexVar> producers, vector<IndexVar> consumers) const {
1139+ bool ProvenanceGraph::isRecoverablePrecompute (taco::IndexVar indexVar, std::set<taco::IndexVar> defined ,
1140+ vector<IndexVar> producers, vector<IndexVar> consumers) const {
11401141 vector<IndexVar> childPrecompute;
11411142 if (std::find (consumers.begin (), consumers.end (), indexVar) != consumers.end ()) {
11421143 return true ;
11431144 }
1144- if (!producers.empty () && (childRelMap.count (indexVar) && childRelMap.at (indexVar).getRelType () == IndexVarRelType::PRECOMPUTE)) {
1145+ if (!producers.empty () && (childRelMap.count (indexVar) &&
1146+ childRelMap.at (indexVar).getRelType () == IndexVarRelType::PRECOMPUTE)) {
11451147 auto precomputeChild = getChildren (indexVar)[0 ];
11461148 if (std::find (producers.begin (), producers.end (), precomputeChild) != producers.end ()) {
11471149 return true ;
11481150 }
11491151 return isRecoverablePrecompute (precomputeChild, defined , producers, consumers);
11501152 }
11511153 for (const IndexVar& child : getChildren (indexVar)) {
1152- if (!defined .count (child) && (isFullyDerived (child)
1153- || !isRecoverablePrecompute (child, defined , producers, consumers))) {
1154+ if (!defined .count (child) && (isFullyDerived (child) ||
1155+ !isRecoverablePrecompute (child, defined , producers, consumers))) {
11541156 return false ;
11551157 }
11561158 }
@@ -1315,12 +1317,6 @@ bool ProvenanceGraph::hasExactBound(IndexVar indexVar) const {
13151317 {
13161318 return rel.getNode <BoundRelNode>()->getBoundType () == BoundType::MaxExact;
13171319 }
1318- // else if (rel.getRelType() == SPLIT)
1319- // {
1320- // return rel.getNode<SplitRelNode>()->getInnerVar() == indexVar;
1321- // } else if (rel.getRelType() == PRECOMPUTE) {
1322- // return hasExactBound(rel.getNode<PrecomputeRelNode>()->getParentVar());
1323- // }
13241320 // TODO: include non-irregular variables
13251321 return false ;
13261322}
0 commit comments