[LLVMdev] i1* function argument on x86-64

Frank Winter fwinter at jlab.org
Mon Jul 27 10:44:30 PDT 2015


I am running into a problem with 'i1*' as a function's argument which 
seems to have appeared since I switched to LLVM 3.6 (but can have other 
source, of course). If I look at the assembler that the MCJIT generates 
for an x86-64 target I see that the array 'i1*' is taken as a sequence 
of 1 bit wide elements. (I guess that's correct). However, I used to 
call the function from C passing in a 'bool*' which has 1 byte 
wideelements, I guess. (not sure if that's a compiler's choice) Now, 
since I haven't changed my code on these parts but only made the 
transition from LLVM 3.4/5 -> 3.6 I wonder if the element width has 
changed when i1* is used as a function's argument..!?

Thanks,
Frank




More information about the llvm-dev mailing list