LLVM from a Go Perspective
aykevl.nl
aykevl.nl
Regardless, compiling functions from a language you know to LLVM IR is a good way to learn how IR works. You can do this for C(++) with the clang --emit-llvm switch. In addition, many optimizers in LLVM are geared towards the IR patterns clang emits.
But if you start venturing down into the backend, a lot of gotchas are never documented anywhere, just somehow learned through osmosis from another backend author or looking up code snippets from another implemented backend.
(Note: I'm the author of the post)
The TinyGo project is interesting, but it is not a new language developed by a single person as Go is not a new language.
Wondering is there any such single person project implementing a compiler for a new language using LLVM and delivering close to C performance?
https://extemporelang.github.io/docs/reference/types/
edit: link is more specific now
As far as I know, it's mostly Andrew Kelley[1] working on Zig, though it seems to be growing quickly now!