[LLVMdev] c char translated to i8 signext

Chris Lattner sabre at nondot.org
Wed Apr 30 12:00:51 PDT 2008

On Wed, 30 Apr 2008, Ryan M. Lefever wrote:
> I have a c function that takes a char as a parameter.  When it is
> compiled to bytecode, it gets translated to i8 signext.  Why is signext
> getting added to the type?  It doesn't get added if the parameter is an
> int.  Is there a way to alter the parameter in the c code so that it
> simply gets translated to an i8, or is there a way in LLVM to modify the
> parameter's type?

This is an ABI requirement for your target.  You can remove it from the 
llvm ir by removing the parameter attribute from the function and calls to 



More information about the llvm-dev mailing list