[LLVMdev] llvm "iword" type

Joshua Warner joshuawarner32 at gmail.com
Mon Aug 9 09:44:35 PDT 2010


Hi,

I'm generating some LLVM IR that has to mask out the lower bits two bits of
a certain pointers.  I expect this should be done like so (on a 32-bit
architecture)

...
%classPointer = ...
%classPointer1 = ptrtoint i8** %classPointer to i32
%classPointer2 = and i32 -4, %classPointer1
%realClassPointer = inttoptr i32 %classPointer2 to i8**
...

Ideally, I'd like to generate completely architecture-independent code,
which brings me to my question: Does LLVM have some sort of
i<target_ptr_size> type that I can cast to to do this masking (like size_t
in C), instead of generating different LLVM IR for 32- and 64- bit
architectures?

Thanks,

Joshua
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100809/e8fa1145/attachment.html>


More information about the llvm-dev mailing list