[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
Jianfei Hu
hujianfei258 at gmail.com
Sat Aug 25 05:43:22 PDT 2012
Hello All,
I want to dertermine whether a basicblock is in a conditional branch. such as,
//=============================
if a > 2 // BasicBlock A
then
BasicBlock B
endif
BasicBlock C
//=============================
What I want to identify is BasicBlock B, which is in a condtional
block. but C is not.
In other words, I want to distinguish BasicBlocks that * must * be
executed and that *may* be executed.
CFG's iterator may not help, as LLVM IR br would be:
A:
br %cmp, %lable.B, %label.C
B
br C
C
both of the blocks could be operand of br instruction.
code in C *must be executed*, but B is not.
Is there any availiable API in LLVM to distinguish them?
Thanks.
More information about the llvm-dev
mailing list