corrected style, updated version
This commit is contained in:
@@ -247,7 +247,7 @@ static vector<int> matchSubscriptToLoopSymbols(const vector<SgForStmt*> &parentL
|
||||
}
|
||||
}
|
||||
|
||||
pair<int, int> coefs = pair<int, int>(0, 0);
|
||||
pair<int, int> coeffs = pair<int, int>(0, 0);
|
||||
// more than one loop symbol in subscription
|
||||
if (countOfSymbols > 1)
|
||||
{
|
||||
@@ -326,16 +326,16 @@ static vector<int> matchSubscriptToLoopSymbols(const vector<SgForStmt*> &parentL
|
||||
{
|
||||
if (subscr->symbol()->id() == (parentLoops[position]->doName())->id())
|
||||
{
|
||||
coefs.first = 1;
|
||||
coeffs.first = 1;
|
||||
needToCacl = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (needToCacl)
|
||||
getCoefsOfSubscript(coefs, subscr, parentLoops[position]->doName());
|
||||
__spf_print(PRINT_ARRAY_ARCS, " <%d %d> ", coefs.first, coefs.second);
|
||||
getCoefsOfSubscript(coeffs, subscr, parentLoops[position]->doName());
|
||||
__spf_print(PRINT_ARRAY_ARCS, " <%d %d> ", coeffs.first, coeffs.second);
|
||||
|
||||
if (coefs.first == 0) // && coefs.second == 0)
|
||||
if (coeffs.first == 0) // && coeffs.second == 0)
|
||||
{
|
||||
if (currRegime == REMOTE_ACC)
|
||||
{
|
||||
@@ -346,7 +346,7 @@ static vector<int> matchSubscriptToLoopSymbols(const vector<SgForStmt*> &parentL
|
||||
{
|
||||
const pair<bool, string> &arrayRefString = constructArrayRefForPrint(arrayRef, dimNum, origSubscr);
|
||||
__spf_print(1, "WARN: can not calculate index expression for array ref '%s' at line %d\n", arrayRefString.second.c_str(), currLine);
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coefs, UNREC_OP, numOfSubscriptions, currentW);
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coeffs, UNREC_OP, numOfSubscriptions, currentW);
|
||||
if (side == LEFT)
|
||||
allPositions.clear();
|
||||
|
||||
@@ -371,19 +371,19 @@ static vector<int> matchSubscriptToLoopSymbols(const vector<SgForStmt*> &parentL
|
||||
currOp.resize(numOfSubscriptions);
|
||||
|
||||
//add only uniq
|
||||
auto itAdd = currOp[dimNum].coefficients.find(coefs);
|
||||
auto itAdd = currOp[dimNum].coefficients.find(coeffs);
|
||||
if (itAdd == currOp[dimNum].coefficients.end())
|
||||
itAdd = currOp[dimNum].coefficients.insert(itAdd, make_pair(coefs, currentW));
|
||||
itAdd = currOp[dimNum].coefficients.insert(itAdd, make_pair(coeffs, currentW));
|
||||
}
|
||||
|
||||
if (coefs.first < 0)
|
||||
if (coeffs.first < 0)
|
||||
addInfoToMap(loopInfo, parentLoops[position], currOrigArrayS, arrayRef, dimNum, REMOTE_TRUE, currLine, numOfSubscriptions);
|
||||
else
|
||||
//if we found regular access to array - set it false
|
||||
addInfoToMap(loopInfo, parentLoops[position], currOrigArrayS, arrayRef, dimNum, REMOTE_FALSE, currLine, numOfSubscriptions);
|
||||
}
|
||||
|
||||
if (coefs.first < 0 && sharedMemoryParallelization == 0)
|
||||
if (coeffs.first < 0 && sharedMemoryParallelization == 0)
|
||||
{
|
||||
if (currRegime == DATA_DISTR)
|
||||
{
|
||||
@@ -402,15 +402,15 @@ static vector<int> matchSubscriptToLoopSymbols(const vector<SgForStmt*> &parentL
|
||||
if (side == LEFT)
|
||||
allPositions.clear();
|
||||
else
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coefs, UNREC_OP, numOfSubscriptions, currentW);
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coeffs, UNREC_OP, numOfSubscriptions, currentW);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (side == LEFT)
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coefs, WRITE_OP, numOfSubscriptions, currentW);
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coeffs, WRITE_OP, numOfSubscriptions, currentW);
|
||||
else
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coefs, READ_OP, numOfSubscriptions, currentW);
|
||||
addInfoToVectors(loopInfo, parentLoops[position], currOrigArrayS, dimNum, coeffs, READ_OP, numOfSubscriptions, currentW);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -418,13 +418,13 @@ static vector<int> matchSubscriptToLoopSymbols(const vector<SgForStmt*> &parentL
|
||||
if (currRegime == ARRAY_ACC_CORNER)
|
||||
{
|
||||
int *valueSubs = new int[2];
|
||||
valueSubs[0] = coefs.first;
|
||||
valueSubs[1] = coefs.second;
|
||||
valueSubs[0] = coeffs.first;
|
||||
valueSubs[1] = coeffs.second;
|
||||
#ifdef __SPF
|
||||
addToCollection(__LINE__, __FILE__, valueSubs, 2);
|
||||
#endif
|
||||
const vector<int*> &coefs = getAttributes<SgExpression*, int*>(subscr, set<int>{ INT_VAL });
|
||||
if (coefs.size() == 0)
|
||||
const vector<int*> &coeffs = getAttributes<SgExpression*, int*>(subscr, set<int>{ INT_VAL });
|
||||
if (coeffs.size() == 0)
|
||||
{
|
||||
subscr->addAttribute(INT_VAL, valueSubs, sizeof(int*));
|
||||
if (position != -1 && allPositions.size() == 1 && position < parentLoops.size())
|
||||
|
||||
Reference in New Issue
Block a user