forked from RealNeGate/tilde-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9ac26c6
commit a92a3a9
Showing
4 changed files
with
46 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
TildeBackend (Tilde or TB for short) | ||
|
||
TB is compiler backend in the form of a reasonable C library. This is built as an alternative to other larger compiler toolchains while providing the optimizations, machine code generation and object file export functionality necessary for the development of compilers. | ||
|
||
# Roadmap | ||
|
||
Code generation: | ||
We're starting with x64 but will be moving focus to Aarch64 soon. | ||
|
||
Optimizer: | ||
It's almost complete with all the -O1 level passes (mostly missing inlining). | ||
After that we can move towards -O2 level stuff (the goal is to compete with | ||
LLVM so we need to be a bit ambitious). | ||
|
||
Debug info: | ||
Codeview support and DWARF has not yet been started, there's plans on making a | ||
new debug info format eventually. | ||
|
||
Output targets: | ||
We currently have basic ELF64, COFF64, some current work is being done for | ||
PE and Macho-O. We got exporting object files but wanna go further because | ||
linkers ain't supposed to be separate programs. | ||
|
||
# Compiling | ||
|
||
You'll need to install Clang or GCC (MSVC build script isn't available right | ||
now) and Make. | ||
|
||
``` | ||
git clone https://github.com/RealNeGate/tilde-backend.git | ||
cd tilde-backend | ||
git submodule update --init --recursive | ||
make -j | ||
``` | ||
|
||
If you wish to compile with optimizations add OPT=2 to the args. | ||
|
||
# Getting Started | ||
|
||
Coming soon |