4 ms·
Except, of course, LLVM bitcode isn't meant to be distributed: it's designed as a compiler IR, and merely an intermediary form. It's also not portable: the exis
by gsnedders 14y ago
Except, of course, LLVM bitcode isn't meant to be distributed: it's designed as a compiler IR, and merely an intermediary form. It's also not portable: the existence of types like x86_fp80 and ppc_fp128 make this quite clear.
- azakai 14y agoYes, and it also implicitly includes assumptions on endianness, stack size, alignments, etc. It is very hard to make it portable. It's a great compiler IR though! This isn't a criticism of LLVM bitcode.
- haberman 14y agoI suggest reading the PNaCl paper, which addresses how they make LLVM bitcode distributable and portable. Because believe it or not, they have thought about these problems, and solutions to them have been designed and implemented. It's not a force-fit either. LLVM is designed to be a form from which machine-specific code is generated. The problem is only that different platforms have different conventions. But any modern 32-bit platform can use a given set of conventions if you want it to.