private_arrays #71
@@ -72,8 +72,7 @@ static void Collapse(Region* region)
|
|||||||
for (auto& [arrayName, arrayRanges] : byBlock->array_use)
|
for (auto& [arrayName, arrayRanges] : byBlock->array_use)
|
||||||
useUnion[arrayName] = useUnion[arrayName].Union(byBlock->array_use[arrayName]);
|
useUnion[arrayName] = useUnion[arrayName].Union(byBlock->array_use[arrayName]);
|
||||||
|
|
||||||
for (auto& [arrayName, arrayRanges] : useUnion)
|
region->array_priv = region->array_use;
|
||||||
region->array_priv[arrayName] = useUnion[arrayName].Diff(region->array_use[arrayName]);
|
|
||||||
|
|
||||||
for (Region* prevBlock : region->getHeader()->getPrevRegions())
|
for (Region* prevBlock : region->getHeader()->getPrevRegions())
|
||||||
prevBlock->replaceInNextRegions(region, region->getHeader());
|
prevBlock->replaceInNextRegions(region, region->getHeader());
|
||||||
@@ -153,19 +152,6 @@ static void SolveDataFlow(Region* DFG)
|
|||||||
Collapse(DFG);
|
Collapse(DFG);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*unsigned long long CalculateLength(const AccessingSet& array)
|
|
||||||
{
|
|
||||||
if (array.GetElements().empty())
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
unsigned long long result = 1;
|
|
||||||
for (const auto& range : array.GetElements())
|
|
||||||
for (const auto& dim : range)
|
|
||||||
result *= (dim.step * dim.tripCount);
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
static void AddPrivateArraysToLoop(LoopGraph* loop, const ArrayAccessingIndexes& privates, set<SgStatement*>& insertedPrivates)
|
static void AddPrivateArraysToLoop(LoopGraph* loop, const ArrayAccessingIndexes& privates, set<SgStatement*>& insertedPrivates)
|
||||||
{
|
{
|
||||||
SgStatement* spfStat = new SgStatement(SPF_ANALYSIS_DIR);
|
SgStatement* spfStat = new SgStatement(SPF_ANALYSIS_DIR);
|
||||||
|
|||||||
Reference in New Issue
Block a user