class SgProcessDoStmt : public SgStatement

for Fortran M ProcessDo statement. variant = PROCESS_DO_STAT

Inheritance:

SgProcessDoStmt < SgStatement


Public Methods

SgStatement* body()
body is returned with control end statement still attached.
int convertLoop()
Convert the loop into a Good loop.
SgStatement distributeLoop(int i)
SgStatement distributeLoopSCC()
SgSymbol doName()
SgExpression* end()
SgLabel* endOfLoop()
int ExpandScalar(SgSymbol &symbol, int i)
SgStatement* getInnermostLoop()
returns innermost nested loop
SgStatement* getNextLoop()
SgStatement* getPreviousLoop()
returns outer nested loop
SgSymbol* inductionVar(int i)
i-th induction variable
SgExpression* indVarRange(int i)
range of i-th ind. var.
int interchangeLoops(SgForStmt &loop)
int interchangeWithLoop(int i)
int isAssignIfLoop()
TRUE if the body consists only of assignments and conditional statements.
int isAssignLoop()
TRUE if the body consists only of assignments
int isEnddoLoop()
TRUE if the loop ends with an Enddo
int isLinearLoopNest()
TRUE if the bound and step of the loops in the loop nest are linear expressions and use the index variables of the previous loops of the nest
int isPerfectLoopNest()
SgStatement loopFusion(SgForStmt &loop)
int normalized()
int NormalizeLoop()
int numberOfInductVars()
1 if an induction variable can be found.
int pullStatementToEnd(SgStatement &s)
int pullStatementToFront(SgStatement &s)
int replaceBody(SgStatement &s)
new body = s and lex successors.
int ScalarForwardSubstitution(SgSymbol &symbol)
void set_body(SgStatement &s)
s is assumed to terminate with a control end statement.
void setDoName(SgSymbol &doName)
SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgStatement &body)
SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgLabel &endofloop, SgStatement &body)
SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgExpression &step, SgStatement &body)
SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgExpression &step, SgLabel &endofloop, SgStatement &body)
SgExpression* start()
SgExpression* step()
int stripMining(int i)
int tiling(int i, int tab[])
int tiling_p(int i)
SgStatement unrollLoop(int i)
int vectorize()
int vectorizeNest()
~SgProcessDoStmt()

Inherited from SgStatement:

Public Methods

void addAttribute(SgAttribute *att)
void addAttribute(int type)
void addAttribute(void *a, int size)
void addAttribute(int type, void *a, int size)
void addDeclSpec(int type)
int attributeType(int i)
void* attributeValue(int i)
void* attributeValue(int i, int type)
SgStatement* childList1(int i)
SgStatement* childList2(int i)
void clearDeclSpec()
char* comments()
SgStatement* controlParent()
SgStatement& copy(void)
SgStatement& copyBlock(void)
SgStatement* copyBlockPtr(void)
SgStatement& copyOne(void)
SgStatement* copyOnePtr(void)
SgStatement* copyPtr(void)
void deleteAllAttribute(int type)
void deleteAllAttribute()
void* deleteAttribute(int i, int type)
void* deleteAttribute(int i)
void deleteStmt()
SgExpression* expr(int i)
SgStatement* extractStmt()
SgStatement* extractStmtBody()
char* fileName()
SgStatement* firstExecutable()
SgStatement* firstStmtForDeclaration()
SgAttribute* getAttribute(int i, int type)
SgAttribute* getAttribute(int i)
SgStatement* getScopeForDeclare()
int hasAnnotations()
int hasLabel()
int hasSymbol()
int id()
void insertStmtAfter(SgStatement &s, SgStatement &cp)
void insertStmtAfter(SgStatement &s)
void insertStmtBefore(SgStatement &s, SgStatement &cp)
void insertStmtBefore(SgStatement &s)
int isExtern()
int isFriend()
int isIncludedInStmt(SgStatement &s)
int isInline()
int isStatic()
SgStatement* lastDeclaration()
SgStatement* lastExecutable()
SgStatement* lastNodeOfStmt()
SgStatement* lexNext()
SgStatement* lexPrev()
int lineNumber()
SgStatement* nextInChildList()
SgStatement* nodeBefore()
int numberOfAttributes()
int numberOfAttributes(int type)
int numberOfChildrenList1()
int numberOfChildrenList2()
int numberOfComments()
void replaceSymbByExp(SgSymbol &symb, SgExpression &exp)
void replaceSymbBySymb(SgSymbol &symb, SgSymbol &newsymb)
void replaceSymbBySymbSameName(SgSymbol &symb, SgSymbol &newsymb)
void replaceTypeInStmt(SgType &old, SgType &newtype)
void replaceWithStmt(SgStatement &s)
void setComments(char *comments)
void setControlParent(SgStatement &s)
void setExpression(int i, SgExpression &e)
void setId(int n)
void setLabel(SgLabel &l)
void setLabel(SgLabel * l)
void setLexNext(SgStatement &s)
void setlineNumber(int n)
void setSymbol(SgSymbol &s)
void setVariant(int n)
SgSymbol* SgStatement::getSymbolInCurrentScope(char * mixstring, char * genname, char * basename, int counter)
SgSymbol* SgStatement::getSymbolInCurrentScope(char * name)
SgSymbol* SgStatement::getSymbolInCurrentScope(char * mixstring, char * genname, char * basename, int c1, int c2)
SgSymbol* SgStatement::getSymbolInCurrentScope(char * mixstring, char * genname, char * basename)
SgSymbol* SgStatement::GetSymbolInScope(SgStatement * scope, char * mixstring, char * genname, char * basename)
SgSymbol* SgStatement::GetSymbolInScope(SgStatement * scope, char * mixstring, char * genname, char * basename, int c1, int c2)
SgSymbol* SgStatement::GetSymbolInScope(SgStatement * scope, char * mixstring, char * genname, char * basename, int counter)
SgSymbol* SgStatement::GetSymbolInScope(SgStatement * scope, char * name)
void simpledeleteStmt()
void sunparse(char *buffer)
SgSymbol* symbol()
char* unparse()
void unparsestdout()
int variant()

Documentation

for Fortran M ProcessDo statement. variant = PROCESS_DO_STAT
SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgExpression &step, SgLabel &endofloop, SgStatement &body)

SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgLabel &endofloop, SgStatement &body)

SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgExpression &step, SgStatement &body)

SgProcessDoStmt(SgSymbol &do_var, SgExpression &start, SgExpression &end, SgStatement &body)

SgSymbol doName()

void setDoName(SgSymbol &doName)

SgExpression* start()

SgExpression* end()

SgExpression* step()

SgLabel* endOfLoop()

SgStatement* body()
body is returned with control end statement still attached.

void set_body(SgStatement &s)
s is assumed to terminate with a control end statement.

int replaceBody(SgStatement &s)
new body = s and lex successors.

int numberOfInductVars()
1 if an induction variable can be found.

SgSymbol* inductionVar(int i)
i-th induction variable

SgExpression* indVarRange(int i)
range of i-th ind. var.

int isPerfectLoopNest()

SgStatement* getNextLoop()

SgStatement* getPreviousLoop()
returns outer nested loop

SgStatement* getInnermostLoop()
returns innermost nested loop

int isLinearLoopNest()
TRUE if the bound and step of the loops in the loop nest are linear expressions and use the index variables of the previous loops of the nest

int isEnddoLoop()
TRUE if the loop ends with an Enddo

int convertLoop()
Convert the loop into a Good loop.

int isAssignLoop()
TRUE if the body consists only of assignments

int isAssignIfLoop()
TRUE if the body consists only of assignments and conditional statements.

int tiling_p(int i)

int tiling(int i, int tab[])

int stripMining(int i)

SgStatement distributeLoop(int i)

SgStatement distributeLoopSCC()

SgStatement loopFusion(SgForStmt &loop)

SgStatement unrollLoop(int i)

int interchangeLoops(SgForStmt &loop)

int interchangeWithLoop(int i)

int normalized()

int NormalizeLoop()

int vectorize()

int vectorizeNest()

int ExpandScalar(SgSymbol &symbol, int i)

int ScalarForwardSubstitution(SgSymbol &symbol)

int pullStatementToFront(SgStatement &s)

int pullStatementToEnd(SgStatement &s)

~SgProcessDoStmt()


This class has no child classes.

alphabetic index hierarchy of classes


Email contact: zgs@npac.syr.edu

generated by doc++