2012-04-10 9 views

Antwort

3

Sie können alle Vorgänger wie diese iterieren:

#include "llvm/Support/CFG.h" 
BasicBlock *BB = ...; 

for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) { 
    BasicBlock *Pred = *PI; 
    // ... 
} 

können Sie überprüfen, ob ein BB mehr als einen Vorgänger dies mit:

BasicBlock *BB = ...; 

if (BB->getSinglePredecessor() != null) /// one predecessor 
{ ... } 
else /// more than one predecessor 
{ ... }