[LLVMdev] ptrtoint

reed kotler rkotler at mips.com
Mon Sep 29 14:29:29 PDT 2014


Thanks.

So what about a fragment like this: (taken from fast-isel.ll in X86 )

define void @ptrtoint_i1(i8* %p, i1* %q) nounwind {
   %t = ptrtoint i8* %p to i1
   store i1 %t, i1* %q
   ret void
}

TIA.

On 09/29/2014 02:16 PM, Duncan P. N. Exon Smith wrote:
>> On Sep 29, 2014, at 1:51 PM, reed kotler <rkotler at mips.com> wrote:
>>
>> What kind of C or C++ code will emit a "ptrtoint" op?
> This C code:
>
>      long ptrtoint(void *p) { return (long)p; }
>
> gives:
>
>      define i64 @ptrtoint(i8* %p) {
>        %1 = ptrtoint i8* %p to i64
>        ret i64 %1
>      }
>
>
>> Also, what causes i1 to be emitted?
> This C++ code:
>
>      bool i1() { return false; }
>
> gives:
>
>      define zeroext i1 @_Z2i1v() {
>        ret i1 false
>      }
>
>
>> Tia.
>>
>> Reed
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list