[LLVMdev] frontend support for cross-compilation?

Chris Lattner sabre at nondot.org
Tue Jul 1 21:53:31 PDT 2008


On Jul 1, 2008, at 9:45 PM, John Regehr wrote:

> Thanks Chris.  I'll follow any ongoing discussion about this.   
> Unless I'm
> missing something, customizable widths for integer types is  
> necessary to
> achieve source-level compatibility with existing cross-compilers.
>
> It would be great to see the fronend being parameterized by integer  
> widths
> at runtime.  There would be no noticable loss of efficiency and this  
> would
> avoid the obnoxious and error-prone situation of keeping many C  
> frontends
> sitting around.
>
> FWIW CIL just lately became parameterizable at runtime with
> machine-specific information and it's really handy.

Hi John,

Just to be clear, LLVM fully supports cross compilation.  This issue  
is a problem for LLVM generating code for any target where  
sizeof(int) != 32, regardless of whether you are natively compiling or  
cross compiling.  The previous discussion was in the context of the  
PIC port.

If you follow the thread, you'll see that this is really easy to fix  
and only impacts promotion of return values.  LLVM fully supports your  
front-end mapping int/long/etc onto whatever size integer you want,  
this is only specific to the one case of return value promotion.

-Chris 
  



More information about the llvm-dev mailing list