|
|
Subscribe / Log in / New account

GCC, LLVM, and compiler plugins

GCC, LLVM, and compiler plugins

Posted Jan 29, 2014 20:21 UTC (Wed) by emk (subscriber, #1128)
Parent article: GCC, LLVM, and compiler plugins

I haven't touched the LLVM code base in years, but way back when, I tried to use it as embedded JIT. (And I wound up writing the first version of llvm-config, so it could be easily linked as a JIT.)

Along the way, I tripped over a compiler bug. I can't remember the details now, but I wound up diving into the LLVM C++ code to fix it. And the code was *nice*—there once major intermediate representation, based on a strongly-typed assembly language with a very small number of operations. I was able to find my way around the code base and make my patch without unnecessary pain. Even better, I could dump the intermediate representation as an LLVM "assembly" file at any step of the compilation process, which made debugging very civilized.

So I'm not surprised that LLVM has since gone on to be quite successful. The architecture was always very approachable and very pleasant to hack on. At least at the time, that was not really the case with GCC.


to post comments


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds