From 05a0e6e71bdd577c02a035c684c9afdc2c2f97ac Mon Sep 17 00:00:00 2001 From: zinc Date: Wed, 14 Oct 2026 15:59:40 +0330 Subject: make: build zy with the llvm backend when an llvm with headers is found; NOLLVM=1 turns it off --- TODO.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'TODO.md') 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. -- cgit v1.2.3