[LLVMdev] Getting the target information of a branch instruction
abhi232 at cc.gatech.edu
abhi232 at cc.gatech.edu
Mon Jul 2 14:15:00 PDT 2007
> On Mon, 2 Jul 2007 abhi232 at cc.gatech.edu wrote:
>> Hello all,
>> I am new to the llvm infrastructure so if this question is already
>> resolved please redirect me to that link.
>>
>> I am writing a pass for flow sensitive and context sensitive alias
>> analysis.for that i require the previous and next instruction of all the
>> instructions.Is there an intrinsic that can help me getting the
>> instruction numbers directly because i read at the llvm.org website
>> making
>> changes to instruction class may be lead to unstableness..Also if i have
>> a
>> branch instruction how do i get he target of the branch instruction.All
>> i
>> could find was machine independent target code.
>
> Is this in the code generator, or in the LLVM IR? I assume that you mean
> the LLVM IR. Given an unconditional branch, you can use I->getOperand(0)
> to get the destination. You should check out this document, it describes
> lots of interesting stuff:
> http://llvm.org/docs/ProgrammersManual.html
>
> in particular:
> http://llvm.org/docs/ProgrammersManual.html#common
>
> -Chris
>
> --
> http://nondot.org/sabre/
> http://llvm.org/
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
Thanks a lot for the information.Actually i am looking for the target of
conditional branch operation something like
some instruction INST...
if(condition)
{
}
else
{
}..
In this case the next set for the instruction INST will consist of the
code in the true condition as well as the falses condition....
for that i am checking if the opcode is terminator and after that i am
getting the opcode name and if it is a branch instruction then i should
get the statement number of the branch...i am using a map to associate an
instruction with number...i had a look at the IR and it has inserted
cond_true,cond_false and cond_next labels in the IR of the bytecode...
How do i go further with these values in hand?
please guide on this topic.
Thanks a lot.
abhinav.
More information about the llvm-dev
mailing list