3 ms·
The 'old' backend is modern gcc, which is on par with or beats llvm.
by earenndil 7y ago
The 'old' backend is modern gcc, which is on par with or beats llvm.
- 0xDEEPFAC 7y agoI would say gcc and llvm are competitive - asserting gcc is faster at its current state is quite a claim. Also, I was referring to AdaCore's implementation of the compiler backend. GNAT's architecture is structured like so: GNAT Frontend (parsing, analysis, expansion) -> GNAT Backend (translation of frontend tree to something GNU or LLVM can understand) -> LLVM or GCC This backend is quite complex and has a large role in how LLVM can optimize. My argument is that GNAT's GCC backend is 25 years old and a new backend written for LLVM probably generates better/cleaner code. Also of note is that the GCC backend is written and C and the LLVM is actually written in Ada meaning its more uniform with the GNAT frontend.
- monocasa 7y agoOn the other hand, the GCC implementation has 25 years performance optimizations across the whole battery of programs they run.