Created LLVM (markdown)

servostar 2024-05-05 09:25:43 +00:00
parent 6a3e4c9e46
commit c23bf6a624
1 changed files with 20 additions and 0 deletions

20
LLVM.md Normal file

@ -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)