added inductive variables and loop type to LoopGraph
This commit is contained in:
@@ -699,7 +699,12 @@ void loopGraphAnalyzer(SgFile *file, vector<LoopGraph*> &loopGraph, const vector
|
||||
newLoop->hasPrints = hasThisIds(st, newLoop->linesOfIO, { WRITE_STAT, READ_STAT, OPEN_STAT, CLOSE_STAT, PRINT_STAT } ); // FORMAT_STAT
|
||||
newLoop->hasStops = hasThisIds(st, newLoop->linesOfStop, { STOP_STAT, PAUSE_NODE });
|
||||
newLoop->hasDvmIntervals = hasThisIds(st, tmpLines, { DVM_INTERVAL_DIR, DVM_ENDINTERVAL_DIR, DVM_EXIT_INTERVAL_DIR });
|
||||
newLoop->isFor = isSgForStmt(st) ? true : false;
|
||||
if (isSgForStmt(st))
|
||||
newLoop->loopType = LoopType::FOR;
|
||||
else if (isSgWhileStmt(st))
|
||||
newLoop->loopType = LoopType::WHILE;
|
||||
else
|
||||
newLoop->loopType = LoopType::NONE;
|
||||
newLoop->inCanonicalFrom = isSgForStmt(st) ? true : false;
|
||||
newLoop->hasSubstringRefs = hasSubstringRef(st);
|
||||
|
||||
@@ -777,7 +782,7 @@ void loopGraphAnalyzer(SgFile *file, vector<LoopGraph*> &loopGraph, const vector
|
||||
newLoop->startEndExpr = std::make_pair((Expression*)NULL, (Expression*)NULL);
|
||||
|
||||
newLoop->loop = new Statement(st);
|
||||
newLoop->loopSymbol = st->symbol() ? st->symbol()->identifier() : "unknown";
|
||||
newLoop->loopSymbols.addMainVar(st->symbol() ? st->symbol()->identifier() : "unknown");
|
||||
findArrayRefs(newLoop);
|
||||
|
||||
SgStatement *lexPrev = st->lexPrev();
|
||||
|
||||
Reference in New Issue
Block a user