[LLVMdev] get the address in memory where an instruction lives
John Criswell
criswell at illinois.edu
Tue Sep 24 08:49:23 PDT 2013
On 9/24/13 10:38 AM, Eirini Psallida wrote:
> Hi,
> i want to get the address in memory of an instruction pointer and use
> it as a key in my tables.
> i iterate over the instructions in LLVM IR like this:
> for (Module::iterator fi = Mod->begin(), fi_end = Mod->end(); fi !=
> fi_end; ++fi) {
> for (inst_iterator I = inst_begin(fi), E = inst_end(fi); I != E;
> ++I) {
> Instruction *ii = dyn_cast<Instruction>(&*I);
> errs() << &ii << "\n";
> }
>
> but i get the same address for every instruction, eg 0xbfc979fc
> Why is this happening and how can i get the rigth address?
You're getting the same address because you're printing the address of
the variable that holds the pointer to the instruction (as opposed to
the pointer itself). In other words, you want to print ii and not &ii.
-- John T.
>
> Thanks,
>
> Eirini
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130924/d5f5d997/attachment.html>
More information about the llvm-dev
mailing list