[LLVMdev] Integer ID for LLVM::Instruction*?

Zhoulai zell08v at gmail.com
Wed May 6 17:30:20 PDT 2015


I just tried with reinterpret-cast instead of static_cast. It seems
working. I hope it is safe.

Zhoulai

On Wed, May 6, 2015 at 5:21 PM, Zhoulai <zell08v at gmail.com> wrote:

> David,
>
> As you suggested, I try to  compile the following test code:
>
>
>
>
>
>
>
>
>
> *include "llvm/IR/Instruction.h"#include "stdint.h"extern void
> callback(intptr_t);void foo(){  llvm::Instruction* i;  intptr_t
> zzzz=static_cast<intptr_t>(i);   callback(zzzz);}*
> but got this compilation error:
>
>
>
>
>
> *      'intptr_t' (aka 'long') is not allowed  intptr_t
> zzzz=static_cast<intptr_t>(i);                ^~~~~~~~~~~~~~~~~~~~~~~~1
> warning and 1 error generated.*
>
> For information, my OS is a Ubuntu 14.04 (VM), and my command line used to
> compile the program is
>
>
> *clang  prog.cpp  -c -fno-rtti -std=c++11 `llvm-config --cxxflags` -o
> prog.cpp.bc *
> Any idea on why the casting does not work? Thanks in advance.
>
> Zhoulai
>
> On Wed, May 6, 2015 at 4:12 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>> intptr_t id = static_cast<intptr_t>(inst);
>>
>> ?
>>
>> On Wed, May 6, 2015 at 3:33 PM, Zhoulai <zell08v at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I wonder whether we can easily retrieve an LLVM instruction ID that
>>> uniquely identifies the instruction. In my case, I need to avoid using
>>> llvm::Instruction* directly. Given an 'inst' of type llvm::instruction*, is
>>> there some readily usable method as simple as  "int id = inst->id( )"?
>>> Thanks.
>>>
>>> Zhoulai
>>>
>>> _______________________________________________
>>> 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/20150506/5dd0f4ed/attachment.html>


More information about the llvm-dev mailing list