added new pass for statistics, updated dvm
This commit is contained in:
@@ -170,7 +170,7 @@ static char* getNestCond()
|
||||
|
||||
static char* getNewCycleVar(const char *oldVar)
|
||||
{
|
||||
char *str = new char[strlen(oldVar) + 2];
|
||||
char *str = new char[strlen(oldVar) + 3];
|
||||
str[0] = '\0';
|
||||
strcat(str, "__");
|
||||
strcat(str, oldVar);
|
||||
@@ -3468,7 +3468,7 @@ SgSymbol *hasSameNameAsSource(SgSymbol *symb)
|
||||
|
||||
int sameVariableName(SgSymbol *symb1, SgSymbol *symb2)
|
||||
{
|
||||
if (!symb1 || !symb2 || (symb1->variant() != VARIABLE_NAME && symb1->variant() != CONST_NAME) || symb2->variant() != VARIABLE_NAME && symb2->variant() != CONST_NAME)
|
||||
if (!symb1 || !symb2 || (symb1->variant() != VARIABLE_NAME && symb1->variant() != CONST_NAME && symb1->variant() != FUNCTION_NAME) || symb2->variant() != VARIABLE_NAME && symb2->variant() != CONST_NAME && symb2->variant() != FUNCTION_NAME)
|
||||
return 0;
|
||||
if (!strcmp (symb1->identifier(), symb2->identifier()))
|
||||
return 1;
|
||||
|
||||
@@ -661,7 +661,7 @@ void ReadWritePrint_Statement(SgStatement *stmt, int error_msg)
|
||||
//if(IN_COMPUTE_REGION && !in_checksection)
|
||||
// ChangeDistArrayRef(iol);
|
||||
}
|
||||
if(inparloop && (send || IN_COMPUTE_REGION) && error_msg)
|
||||
if(inparloop && (send || IN_COMPUTE_REGION || parloop_by_handler) && error_msg)
|
||||
err("Illegal I/O statement in the range of parallel loop/region", 184,stmt);
|
||||
|
||||
}
|
||||
|
||||
@@ -458,7 +458,7 @@ int WhatInterface(SgStatement *stmt)
|
||||
case SHADOW_COMP_OP:
|
||||
case ACROSS_OP:
|
||||
case ACC_TIE_OP:
|
||||
case CONSISTENT_OP:
|
||||
case CONSISTENT_OP:
|
||||
case STAGE_OP:
|
||||
case REMOTE_ACCESS_OP:
|
||||
if(e->symbol()) // asynchronous REMOTE_ACCESS
|
||||
@@ -2297,8 +2297,10 @@ void Interface_2(SgStatement *stmt,SgExpression *clause[],SgExpression *init[],S
|
||||
}
|
||||
if (clause[CONSISTENT_]) //there is CONSISTENT clause
|
||||
for (SgExpression *el = clause[CONSISTENT_]->lhs(); el; el=el->rhs())
|
||||
InsertNewStatementAfter(Consistent_H(ilh, HeaderForArrayInParallelDir(el->lhs()->symbol(), stmt, 0), MappingList(stmt, el->lhs())), cur_st, cur_st->controlParent());
|
||||
|
||||
{
|
||||
SgExpression *head = HeaderForArrayInParallelDir(el->lhs()->symbol(), stmt, 0);
|
||||
InsertNewStatementAfter(Consistent_H(ilh, head, MappingList(stmt, el->lhs())), cur_st, cur_st->controlParent());
|
||||
}
|
||||
if (clause[REMOTE_ACCESS_]) //there is REMOTE_ACCESS clause
|
||||
{ int nbuf=1;
|
||||
//adding new element to remote_access directive/clause list
|
||||
@@ -2306,7 +2308,10 @@ void Interface_2(SgStatement *stmt,SgExpression *clause[],SgExpression *init[],S
|
||||
RemoteVariableList(clause[REMOTE_ACCESS_]->symbol(), clause[REMOTE_ACCESS_]->lhs(), stmt);
|
||||
|
||||
for (SgExpression *el=clause[REMOTE_ACCESS_]->lhs(); el; el=el->rhs(),nbuf++)
|
||||
InsertNewStatementAfter(LoopRemoteAccess_H(ilh, HeaderForArrayInParallelDir(el->lhs()->symbol(), stmt, 0), el->lhs()->symbol(), MappingList(stmt, ArrayRefAddition(el->lhs()))), cur_st, cur_st->controlParent());
|
||||
{
|
||||
SgExpression *head = HeaderForArrayInParallelDir(el->lhs()->symbol(), stmt, 0);
|
||||
InsertNewStatementAfter(LoopRemoteAccess_H(ilh, head, el->lhs()->symbol(), MappingList(stmt, ArrayRefAddition(el->lhs()))), cur_st, cur_st->controlParent());
|
||||
}
|
||||
}
|
||||
|
||||
if (clause[SHADOW_COMPUTE_]) //there is SHADOW_COMPUTE clause
|
||||
|
||||
Reference in New Issue
Block a user