LLVM Intermediate Representation (IR)
- it’s a common language that sits between the high-level program and the low-level backend
- is used to express high-level concepts and is specific enough that any backend can produce a fast machine-code
- is a low-level programming language similar to assembly language (IR has all the advantages of assembly without any of its problems)
- is a strongly typed Computer (RISC) instruction set