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

David Blaikie dblaikie at gmail.com
Thu May 7 09:36:32 PDT 2015


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

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

Yep, my mistake. reinterpret_cast is the right tool for this conversion.


>
>
> 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/20150507/3dcf7222/attachment.html>


More information about the llvm-dev mailing list