a basic question about BB

Dear LLVM,

I want to know, given a function, How do I know which block is entry
block, which blocks are exit blocks? Is there any efficient way to
dicectly get that information?

Dear LLVM,

I want to know, given a function, How do I know which block is entry
block, which blocks are exit blocks? Is there any efficient way to
dicectly get that information?

Given a function you can always use Function::getEntryBlock() to get the
entry block. You need to scan the function to get the returning nodes.

-Chris "llvm" Lattner

> I want to know, given a function, How do I know which block is entry
> block, which blocks are exit blocks? Is there any efficient way to
> dicectly get that information?

Given a function you can always use Function::getEntryBlock() to get the
entry block. You need to scan the function to get the returning nodes.

You could also use UnifyExitNode (a pass in analysis) to unify the exits,
and then use getExit() to get the exit node.

-anand

The choice of which you do should be based on whether you really need a
unified exit node.

It will be faster to traverse all the BBs and examine each terminator
instr. Than to insert the unified exit node.

--Vikram
http://www.cs.uiuc.edu/~vadve