tags : Parsers, Lexers, Programming Languages, WebAssembly
How it helps?
Modular
- Writing two backends for two different architectures would be a lot of work and then lots of platform specific optimizations therefore llvm is the present and seems to be the future for the foreseeable future as well.
- LLVM is modular in the sense that it never compiles one language straight to machine code.
- It has a front-end compiler that compiles your code to an IR.
- This IR is called LLVM, as the IR is modeled around a Low-level Virtual Machine(LLVM).
- It has a back-end compiler that takes care of translating the IR to the host’s machine code
- WebAssembly is just another backend for LLVM
Others
- See MLIR