4 ms·
I've got compiler jobs without ever touching LLVM. Even gcc has a better codebase and performance. If just its maintainers would behave as nice as the LLVM main
by rurban 1y ago
I've got compiler jobs without ever touching LLVM. Even gcc has a better codebase and performance. If just its maintainers would behave as nice as the LLVM maintainers who are really nice.
Eg with gcc you can write a jit in pure C. With LLVM you'd still need C++ for name lookup hooks. With qbe you won't need any of this. With lisp much less.
- fooker 1y agoYes, I'm sure you got a compiler job without touching LLVM. Doesn't mean it's good advice for someone getting into a field where LLVM is the technology used for 90% of the jobs.
- torginus 1y agoYou got me to check out GCC and QBE, and I say, not having to bother with SSA does seem to make things a bit easier, with GCC's Gimple being a kind of pseudo-assembly language, and Generic being almost C. Still I think once you get over the hurdle of SSA-ifying your procedural code, LLVM is all right, and seems to be a lot more feature rich (I might be stupid, but I don't see how to make stack maps in GCC). Also GCC is very lightly documented while LLVM seems to have quite good docs and tutorials.
- fooker 1y agoYou don't need SSA for LLVM. Just emit load and store instructions, and it'll be converted automatically. What SSA gives you is substantially easier analysis and optimizations on the intermediate representation, so much that all compilers use it (yes, even GCC).