fixed merge
This commit is contained in:
@@ -937,7 +937,7 @@ static vector<vector<FixedSubscript>> checkImplicitDirectUsage(Context* ctx)
|
|||||||
if (funcInfo->funcParams.isArgOut(i) || // implicit direct usage
|
if (funcInfo->funcParams.isArgOut(i) || // implicit direct usage
|
||||||
callArg->lhs() == nullptr) // reference to whole array
|
callArg->lhs() == nullptr) // reference to whole array
|
||||||
{
|
{
|
||||||
auto& mask = getFixedSubscriptsVector((SgArrayRefExp*)callArg, ctx->dimensionsNum);
|
auto mask = getFixedSubscriptsVector((SgArrayRefExp*)callArg, ctx->dimensionsNum);
|
||||||
fixedSubscripts.push_back(mask);
|
fixedSubscripts.push_back(mask);
|
||||||
addMessageUsageInFunctionCall(ctx->messages, getDimensionVarName(ctx->arraySymbol, mask),
|
addMessageUsageInFunctionCall(ctx->messages, getDimensionVarName(ctx->arraySymbol, mask),
|
||||||
procName, ctx->loop->lineNum, st->lineNumber());
|
procName, ctx->loop->lineNum, st->lineNumber());
|
||||||
@@ -994,7 +994,7 @@ static void checkIndirectUsage(Context* ctx, FuncInfo* curFunc, vector<Variable*
|
|||||||
vector<SgArrayRefExp*> directArrayRefs = getDirectArrayRefs(varUse.getFunction(), varUse.getUseS());
|
vector<SgArrayRefExp*> directArrayRefs = getDirectArrayRefs(varUse.getFunction(), varUse.getUseS());
|
||||||
for (auto arrayRef : directArrayRefs)
|
for (auto arrayRef : directArrayRefs)
|
||||||
{
|
{
|
||||||
auto& mask = getFixedSubscriptsVector(arrayRef, ctx->dimensionsNum);
|
auto mask = getFixedSubscriptsVector(arrayRef, ctx->dimensionsNum);
|
||||||
indirectUsageMasks.push_back(mask);
|
indirectUsageMasks.push_back(mask);
|
||||||
addMessageUsageInFunctionCall(ctx->messages, getDimensionVarName(ctx->arraySymbol, mask),
|
addMessageUsageInFunctionCall(ctx->messages, getDimensionVarName(ctx->arraySymbol, mask),
|
||||||
curFunc->funcName, ctx->loop->lineNum, ctx->loop->lineNum);
|
curFunc->funcName, ctx->loop->lineNum, ctx->loop->lineNum);
|
||||||
@@ -1674,7 +1674,7 @@ void removePrivatesAnalysis(vector<LoopGraph*>& loopGraphs,
|
|||||||
context.dimensionsNum = getDimension(arrayToRemove);
|
context.dimensionsNum = getDimension(arrayToRemove);
|
||||||
context.arraySymbol = arrayToRemove;
|
context.arraySymbol = arrayToRemove;
|
||||||
|
|
||||||
auto& filterMasks = checkImplicitAndIndirectUsage(&context);
|
auto filterMasks = checkImplicitAndIndirectUsage(&context);
|
||||||
filterArrayRefs(&context, arrayRefs, filterMasks);
|
filterArrayRefs(&context, arrayRefs, filterMasks);
|
||||||
context.explicitArrayRefs.swap(arrayRefs);
|
context.explicitArrayRefs.swap(arrayRefs);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user