@@ -331,12 +331,9 @@ void Analysis::dfsTraverseCFGLoop(long Parent, CFGBlock *FirstBlk) {
331
331
vector<unsigned > LoopBlks = BlkCond.LoopBlks ;
332
332
unsigned ID = Blk->getBlockID ();
333
333
334
- DEBUG_PRINT (" Block: " << ID << " Parent: " << Parent);
334
+ // DEBUG_PRINT("Block: " << ID << " Parent: " << Parent);
335
335
// DEBUG_EXEC(dumpBlkChain());
336
336
337
- if (ID == 43 )
338
- int A = 0 ;
339
-
340
337
if (ColorOfBlk[ID] == 0 )
341
338
ColorOfBlk[ID] = 1 ;
342
339
@@ -354,24 +351,21 @@ void Analysis::dfsTraverseCFGLoop(long Parent, CFGBlock *FirstBlk) {
354
351
llvm::sort (SortedPath.begin (), SortedPath.end ());
355
352
// Loop detected
356
353
if (binary_search (SortedPath.begin (), SortedPath.end (), Blk)) {
357
- DEBUG_PRINT (" Loop detected at Block " << Blk->getBlockID () << " in "
358
- << Signature);
359
- if (Blk->getBlockID () == 44 )
360
- int A = 0 ;
361
- DEBUG_EXEC (unsigned I = 0 ; for (const CFGBlock *Blk
362
- : Path) {
363
- if (I++ > 0 )
364
- outs () << " \033 [36m\033 [1m->\033 [0m " ;
365
- outs () << Blk->getBlockID ();
366
- } outs () << " \n " ;);
354
+ // DEBUG_PRINT("Loop detected at Block " << Blk->getBlockID() << " in "
355
+ // << Signature);
356
+ // DEBUG_EXEC(unsigned I = 0; for (const CFGBlock *Blk
357
+ // : Path) {
358
+ // if (I++ > 0)
359
+ // outs() << " \033[36m\033[1m->\033[0m ";
360
+ // outs() << Blk->getBlockID();
361
+ // } outs() << "\n";);
367
362
bool Traverse = false ;
368
363
for (CFGBlock::AdjacentBlock Adj : Blk->succs ()) {
369
364
if (Adj.isReachable ()) {
370
365
if (!binary_search (SortedPath.begin (), SortedPath.end (), Adj)) {
371
366
if (LoopInner[Blk->getBlockID ()].find (Adj->getBlockID ()) !=
372
367
LoopInner[Blk->getBlockID ()].end ())
373
368
continue ;
374
- outs () << " Stack push " << Adj->getBlockID () << " \n " ;
375
369
vector<unsigned > Loop = {};
376
370
for (const CFGBlock *Blk : Path) {
377
371
Loop.push_back (Blk->getBlockID ());
@@ -381,14 +375,11 @@ void Analysis::dfsTraverseCFGLoop(long Parent, CFGBlock *FirstBlk) {
381
375
}
382
376
}
383
377
}
384
- // FIXME: consider remove this
385
378
if (!Traverse && InLoop) {
386
379
unsigned PathSize = Path.size ();
387
380
for (unsigned I = PathSize - 1 ; I > 0 ; --I) {
388
381
const CFGBlock *Succ = Path[I];
389
382
const CFGBlock *Pred = Path[I - 1 ];
390
- outs () << " Clear Block " << Succ->getBlockID () << " \n " ;
391
- CondChainForBlk[Succ->getBlockID ()] = {}; // clear
392
383
bool IsSucc = isSucc (Pred, Succ);
393
384
if (!IsSucc) {
394
385
for (CFGBlock::AdjacentBlock Adj : Pred->succs ()) {
@@ -487,18 +478,15 @@ void Analysis::dfsTraverseCFGLoop(long Parent, CFGBlock *FirstBlk) {
487
478
const CFGBlock::AdjacentBlock *Adj = Blk->succ_begin ();
488
479
if (InnerCond) {
489
480
if (Adj->isReachable ()) {
490
- outs () << " Stack push " << (*Adj)->getBlockID () << " \n " ;
491
481
Stack.push ({ID, *Adj, Cond, true , InLoop, LoopBlks});
492
482
}
493
483
if (Blk->succ_size () == 2 ) {
494
484
++Adj;
495
485
if (Adj->isReachable ()) {
496
- outs () << " Stack push " << (*Adj)->getBlockID () << " \n " ;
497
486
Stack.push ({ID, *Adj, Cond, false , InLoop, LoopBlks});
498
487
}
499
488
}
500
489
} else if (Adj->isReachable ()) {
501
- outs () << " Stack push " << (*Adj)->getBlockID () << " \n " ;
502
490
Stack.push ({ID, *Adj, nullptr , false , InLoop, LoopBlks});
503
491
}
504
492
break ;
0 commit comments