Hi,<br><br>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)<br><br>...<br>%classPointer = ...<br>%classPointer1 = ptrtoint i8** %classPointer to i32<br>
%classPointer2 = and i32 -4, %classPointer1<br>%realClassPointer = inttoptr i32 %classPointer2 to i8**<br>...<br><br>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?<br>
<br>Thanks,<br><br>Joshua<br><br><br>