[llvm-dev] How to get the address of a global variable in LLVM? (original) (raw)
Dipanjan Das via llvm-dev llvm-dev at lists.llvm.org
Fri Apr 28 14:38:27 PDT 2017
- Previous message: [llvm-dev] How to get the address of a global variable in LLVM?
- Next message: [llvm-dev] How to get the address of a global variable in LLVM?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I am a little confused. Can anyone explain me in short? The definition of
func
is as below:
void func(int var_addr) { printf("[instr]: Global variable at address 0x%x\n", var_addr); }
I want to insert a call to func
just before the store instruction with
the address x
of global variable g
as parameter.
On 28 April 2017 at 14:34, Tim Northover <t.p.northover at gmail.com> wrote:
On 28 April 2017 at 14:32, Jonathan Roelofs via llvm-dev <llvm-dev at lists.llvm.org> wrote: > You need a load instruction since your function takes an i32, not an > i32*.... A global's value in llvm is its address, not the numeric data it > contains.
I suspect he actually wants to make his function take an "i8*" and bitcast his pointer to that type before calling it. [*] Tim. [*] Keeping it as an i32/i64 and using ptrtoint instead of bitcast would also work, but be less portable and elegant.
--
Thanks & Regards, Dipanjan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170428/cd605c04/attachment.html>
- Previous message: [llvm-dev] How to get the address of a global variable in LLVM?
- Next message: [llvm-dev] How to get the address of a global variable in LLVM?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]