[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