Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Sure if you want to build a lisp clone.

Anything else, you're better off starting off with LLVM. Especially if you want a compiler job.



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.


Yes, 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.


You 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.


You 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).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: