Re:GCC-Rust: Rust frontend for GCC
by etaioinshrdlu on Sunday December 08, 2019 @04:49AM
(#21735126)
GCC has a reputation of having confusing architecture. It is a very hard project to work on. LLVM is typically considered cleaner and more understandable. GCC is known to have still in 2019, a rather slight performance benefit.
LLVM also has a stable IR named LLVM itself, while GCC refuses to do so over the decades for political and strategic reasons.
[ Parent
| on HN ]
> LLVM also has a stable IR named LLVM itself,
LLVM's IR is not stable by design. [1, 2]
[1] http://lists.llvm.org/pipermail/llvm-dev/2016-February/09487... [2] http://llvm.org/docs/DeveloperPolicy.html#ir-backwards-compa...
> while GCC refuses to do so over the decades for political and strategic reasons.
That was a long time ago. Since GCC 4.5 (released in 2010) GCC supports external plugins. [3,4] These plugins, like the rest of GCC, use GENERIC and GIMPLE as their IR.
[3] https://gcc.gnu.org/gcc-4.5/changes.html [4] https://gcc.gnu.org/onlinedocs/gccint/Plugins.html
Re:GCC-Rust: Rust frontend for GCC
by tom_mellior on Sunday December 08, 2019 @08:22AM
(#21735765)
Having worked with both, I don't know what you mean by "confusing architecture". Both are OK to work with, but both have some glaring holes in their documentation. LLVM's data structures are typically nicer to use than GCC's linked lists in a lot of places, that much is true.
Re:GCC-Rust: Rust frontend for GCC
by TazeTSchnitzel on Sunday December 08, 2019 @05:15AM
(#21735193)
LLVM IR is called “LLVM assembly language” in the documentation.