Skip to content
Snippets Groups Projects
Commit a6565f01 authored by Clark Coleman's avatar Clark Coleman
Browse files

Improve ClassifyLoop() debugging output.

parent f15c1615
No related branches found
No related tags found
No related merge requests found
Pipeline #18098 passed
......@@ -7546,9 +7546,16 @@ void SMPFunction::ClassifyLoop(size_t LoopNumber, int HeaderExitFollowNum, int T
// First, pad out the vector allocation if needed.
while (this->LoopExitingBlocksVector.size() <= LoopNumber) {
// Loop must have had no exits.
assert(STARS_INFINITE_OR_MIDDLE_TESTING_LOOP == this->LoopTypesByLoopNum[LoopNumber]);
SMP_msg("INFO: LOOP: Infinite loop, no exiting blocks, loop number %zu ", LoopNumber);
int LoopType = this->LoopTypesByLoopNum[LoopNumber];
SMP_msg("INFO: LOOP: Infinite loop, no exiting blocks, loop number %zu loop type %d ", LoopNumber, LoopType);
this->DumpFuncNameAndAddr();
if (STARS_INFINITE_OR_MIDDLE_TESTING_LOOP != LoopType) { // about to assert and die
this->Dump(false);
global_STARS_program->SetSPARKFlag(true); // Make DotCFG file be emitted.
this->DumpDotCFG();
SMP_msg("FATAL ERROR: Loop with no exiting blocks is of wrong type.\n");
}
assert(STARS_INFINITE_OR_MIDDLE_TESTING_LOOP == LoopType);
 
vector<struct LoopExitingBlockInfo> NewVector;
this->LoopExitingBlocksVector.push_back(NewVector);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment