Rust: The New LLVM
&gt; This is part of the inspiration for LLVM, or Low Level Virtual Machine, which is a kind of &quot;abstract assembly&quot; that looks vaguely like machine code but is platform-independent.<p>LLVM is not platform-independent.<p>LLVM IR has baked-in constants, ABI details, and other platform-specific things. The &quot;LLVM IR is a compiler IR&quot; post has a good summary,<p><a href="http:&#x2F;&#x2F;comments.gmane.org&#x2F;gmane.comp.compilers.llvm.devel&#x2F;43769" rel="nofollow">http:&#x2F;&#x2F;comments.gmane.org&#x2F;gmane.comp.compilers.llvm.devel&#x2F;43...</a><p>One result of that is that the following quote is not true:<p>&gt; a compiler writer can target LLVM and then have his language work across platforms (e.g. on Linux, Mac, and Windows machines)<p>Actually a compiler must generate <i>different</i> LLVM IR for each platform.<p>It is true that LLVM does abstract some or even most things away - CPU architecture is (mostly) handled for you, for example, which is what the author mentions - but many important things aren&#x27;t.<p>&gt; as well as with other languages that use LLVM<p>You&#x27;ll still need to make sure to use the right ABIs for those languages.<p>In fact, LLVM has somewhat poor abstraction for the C ABI, in that it exists in clang and not in LLVM, as a result, Rust has had to duplicate a bunch of that code. This point actually supports the author&#x27;s position - targeting Rust would actually be a more portable target than LLVM!<p>Overall, it might make sense to compile to Rust. But probably to Rust MIR, the IR they are developing. MIR needs to mature and stabilize, but there are already signs of an ecosystem starting to form around it. It&#x27;s interesting speculation, but it would be exciting to see Rust MIR be &quot;the new LLVM.&quot;