2012-04-10 22 views

回答

3

可以遍歷所有的前輩是這樣的:

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

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

您可以驗證如果BB有使用不止一種的前身:

BasicBlock *BB = ...; 

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