Created LLVM (markdown)
parent
6a3e4c9e46
commit
c23bf6a624
|
@ -0,0 +1,20 @@
|
||||||
|
# LLVM
|
||||||
|
> The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
|
||||||
|
|
||||||
|
Many languages like Rust, Switft, C/C++ and many others to generate platform native code.
|
||||||
|
This is done through the use of LLVM IR, which is an intermediate representation (IR) of a program.
|
||||||
|
LLVM can compile IR into direct assembly which can then be assembled, linked and run natively.
|
||||||
|
|
||||||
|
LLVM IR can be generated more or less directly from AST and is a human readable foramt.
|
||||||
|
|
||||||
|
## Supported Architectures
|
||||||
|
The main architecture targeted by gemstone is x86_64 (Intel/AMD).
|
||||||
|
However LLVM supports many more.
|
||||||
|
All LLVM supported architectures can be found [here](https://llvm.org/docs/CompilerWriterInfo.html).
|
||||||
|
|
||||||
|
## Helpful links
|
||||||
|
The following list is a compilation of sites I consider to be useful for getting started with LLVM in C:
|
||||||
|
- [LLVM to binary](https://borretti.me/article/compiling-llvm-ir-binary)
|
||||||
|
- [LLVM C API](https://www.pauladamsmith.com/blog/2015/01/how-to-get-started-with-llvm-c-api.html)
|
||||||
|
- [LLVM IR generator](https://seanforfun.github.io/llvm/2019/07/31/LLVMKaleidoscopeChap2.html)
|
||||||
|
- [Compile with LLVM](https://stackoverflow.com/questions/72655118/how-to-configure-llvms-header-files-just-like-iostream-windows-h)
|
Loading…
Reference in New Issue