added inductive variables and loop type to LoopGraph
This commit is contained in:
@@ -75,7 +75,7 @@ static LoopGraph* createDirectiveForLoop(LoopGraph *currentLoop, MapToArray &mai
|
||||
}
|
||||
}
|
||||
|
||||
directive->parallel.push_back(currentLoop->loopSymbol);
|
||||
directive->parallel.push_back(currentLoop->loopSymbol());
|
||||
directive->arrayRef = mainArray.arrayRef;
|
||||
|
||||
DIST::Array *tmp = mainArray.arrayRef;
|
||||
@@ -84,7 +84,7 @@ static LoopGraph* createDirectiveForLoop(LoopGraph *currentLoop, MapToArray &mai
|
||||
for (int i = 0; i < tmp->GetDimSize(); ++i)
|
||||
{
|
||||
if (i == pos)
|
||||
directive->on.push_back(make_pair(currentLoop->loopSymbol, mainAccess));
|
||||
directive->on.push_back(make_pair(currentLoop->loopSymbol(), mainAccess));
|
||||
else
|
||||
directive->on.push_back(make_pair("*", make_pair(0, 0)));
|
||||
}
|
||||
@@ -808,7 +808,7 @@ void createParallelDirectives(const map<LoopGraph*, map<DIST::Array*, ArrayInfo*
|
||||
for (int i = 0; i < mainArrayOfLoop->GetDimSize(); ++i)
|
||||
{
|
||||
if (i == dimPos)
|
||||
parDir->on2.push_back(make_pair(currLoop->loopSymbol, mainAccess));
|
||||
parDir->on2.push_back(make_pair(currLoop->loopSymbol(), mainAccess));
|
||||
else
|
||||
parDir->on2.push_back(make_pair("*", make_pair(0, 0)));
|
||||
}
|
||||
@@ -1100,7 +1100,7 @@ static bool tryToResolveUnmatchedDims(const map<DIST::Array*, vector<bool>> &dim
|
||||
LoopGraph* tmpL = loop;
|
||||
for (int z = 0; z < nested; ++z)
|
||||
{
|
||||
deprecateToMatch.insert(tmpL->loopSymbol);
|
||||
deprecateToMatch.insert(tmpL->loopSymbol());
|
||||
if (tmpL->children.size())
|
||||
tmpL = tmpL->children[0];
|
||||
else if (z != nested - 1)
|
||||
@@ -1113,7 +1113,7 @@ static bool tryToResolveUnmatchedDims(const map<DIST::Array*, vector<bool>> &dim
|
||||
tmpL = loop->parent;
|
||||
while (tmpL)
|
||||
{
|
||||
if (!tmpL->isFor) // TODO: need to add all inductive variables!
|
||||
if (tmpL->isWhile()) // TODO: need to add all inductive variables!
|
||||
{
|
||||
SgWhileStmt* dow = isSgWhileStmt(tmpL->loop->GetOriginal());
|
||||
if (dow->conditional())
|
||||
@@ -1124,7 +1124,7 @@ static bool tryToResolveUnmatchedDims(const map<DIST::Array*, vector<bool>> &dim
|
||||
}
|
||||
}
|
||||
else
|
||||
deprecateToMatch.insert(tmpL->loopSymbol);
|
||||
deprecateToMatch.insert(tmpL->loopSymbol());
|
||||
tmpL = tmpL->parent;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user