[LLVMdev] LLVM IR is a compiler IR

John McCall rjmccall at apple.com
Tue Oct 4 22:50:59 PDT 2011

On Oct 4, 2011, at 5:39 PM, David Sehr wrote:
> I should have chimed in earlier, but have been working on two more side-channel variants of this conversation.
> At the beginning the PNaCl team was strongly pushing for trying to keep platform ABI compatibility on all
> platforms while taking one portable bitcode stream as input.  During the discussions we've had over the past few
> weeks it became obvious that that is simply not tractable, and we're trying to work in a slightly different direction
> that meets PNaCl's needs.
> PNaCl needs to have one bitcode representation that can be lowered to efficient ABIs on all target platforms.
> We're not constrained to have to use the exact ABI that trusted code would on each of the platforms, however.
> For reasons of portability we've already eliminated long double support (or made it equivalent to double if you prefer).
> And we're currently proposing to use the platform ABIs, except that structure arguments (including unions, bitfields, etc.)
> are always passed in memory.

Excellent!  Assuming that PNaCl has settled on a standard object layout — obviously a hard requirement in any case — this seems like a solid path towards portability.


More information about the llvm-dev mailing list