aboutsummaryrefslogtreecommitdiff
path: root/TODO.md
diff options
context:
space:
mode:
Diffstat (limited to 'TODO.md')
-rw-r--r--TODO.md10
1 files changed, 7 insertions, 3 deletions
diff --git a/TODO.md b/TODO.md
index bba2ff7..e76b7c3 100644
--- a/TODO.md
+++ b/TODO.md
@@ -241,9 +241,13 @@ the reasoning behind the open items survives the session.
translation validation of each compile over proving the compiler whole.
- native code: the hand-written jit exists for arm64 and (phase 1, no o3
regions or inlined enhancements yet) x86-64 linux; the llvm backend
- (`-DZYLLVM`) is the portable native tier but the default build leaves it
- out. cheap win: build the llvm core by default whenever `llvm-config` is
- found. the x86-64 port of the hand-written jit is worth it for compile
+ (`-DZYLLVM`) is the portable native tier, and `make` now puts it in `zy`
+ whenever `llvm-config` or `llvm-config-19` with headers is found
+ (`NOLLVM=1` turns it off; without llvm the build prints a note and goes on).
+ checked on x86-64 with llvm 19: the fixpoint with llvm, without llvm on
+ `PATH`, and with `NOLLVM=1`, and `tests/test.sh --section llvm` (149 ok).
+ open: `-DZYLLVM` replaces the x86-64 jit, so the default x86-64 `zy` now
+ uses llvm rather than the hand-written jit; decide whether that is wanted. the x86-64 port of the hand-written jit is worth it for compile
latency (microseconds per block against milliseconds for llvm), which
matters for short programs and the language server.