kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

DateCommit messageAuthorFiles+-
2026-06-09 15:13windows: cross-compile kit + run cc/JIT natively on aarch64-windowsRyan Sepassi14+275-14
2026-06-09 06:27env/windows: include windows.h before psapi.h (mingw cross-build)Ryan Sepassi1+6-1
2026-06-09 05:54jit/tls: ELF Local-Exec relaxation via arch-abstracted hookRyan Sepassi11+209-59
2026-06-09 05:06jit/tls: uniform in-image thread-local storage; retire Mach-O TLV thunkRyan Sepassi24+204-789
2026-06-09 01:44link: root DSO back-referenced symbols under --gc-sections (freebsd -O1 fixed point)Ryan Sepassi5+121-64
2026-06-09 01:22asm: don't globalize deferred-symbol tombstones in promote_undef_externsRyan Sepassi2+37-14
2026-06-09 00:18doc/bootstrap: record aarch64-linux and aarch64-freebsd bootstrap stateRyan Sepassi1+117-10
2026-06-09 00:17elf: emit symbol-version (Verneed/Versym) requirements; freebsd -rdynamic + bootstrap shippingRyan Sepassi9+495-18
2026-06-09 00:12bootstrap: aarch64-linux self-host (musl + glibc) + Toy ELF fixesRyan Sepassi13+217-38
2026-06-08 22:00freebsd: bootstrap support + portable stdint.h INT64_CRyan Sepassi3+174-9
2026-06-08 21:13freebsd: x64/rv64 cross-compile, -lm/-lpthread, hosted lib searchRyan Sepassi7+112-28
2026-06-08 20:40ld: default to PIE for hosted dynamic links (-lc without -static)Ryan Sepassi1+17-0
2026-06-08 20:28freebsd: thread OS version, add cross-compile + VM verificationRyan Sepassi14+371-215
2026-06-08 20:13docs: close out and remove the CODEGEN plan docRyan Sepassi2+0-373
2026-06-08 20:03Track 4: drop dead INTRIN_MEMCPY/INTRIN_MEMSET intrinsicsRyan Sepassi7+34-244
2026-06-08 19:52Track 1c: test conditional control ops + reject continue on block scopeRyan Sepassi4+370-2
2026-06-08 19:39Remove multi-value from the CG API (single result)Ryan Sepassi45+312-647
2026-06-08 18:42reloc: shrink reloc enum; neutral R_ABS8/16, R_PREL16, R_TPOFF64; rename R_RV_ADD*/SUB*/SET* to arch-neutralRyan Sepassi25+208-234
2026-06-08 18:39plan: clean out completed plansRyan Sepassi5+0-1618
2026-06-08 18:32rv32: close out riscv32-none-elf; remove completed plan docRyan Sepassi4+44-533
2026-06-08 18:15plan: refresh doc indexRyan Sepassi3+8-369
2026-06-06 12:17docs: plan llgen importRyan Sepassi2+391-0
2026-06-06 11:53Fix nested panic recoveryRyan Sepassi12+178-78
2026-06-06 11:41Fix -no-pie overriding explicit PIERyan Sepassi6+49-11
2026-06-06 11:33Keep volatile locals memory residentRyan Sepassi4+12-31
2026-06-06 11:15Fix hard-pinned native inline asm stagingRyan Sepassi7+248-65
2026-06-06 10:52Fix C inline asm output type stackRyan Sepassi2+3-22
2026-06-06 10:34Support arch inline asm machine constraintsRyan Sepassi21+692-210
2026-06-06 05:20Implement raw syscall intrinsic loweringRyan Sepassi26+192-66
2026-06-06 04:34Fix O1 label-address block livenessRyan Sepassi5+104-47
2026-06-06 04:12Fix tail sret forwardingRyan Sepassi5+78-13
2026-06-06 04:01Teach ld -lc to use hosted libcRyan Sepassi6+423-101
2026-06-06 04:00Fix aarch64 COFF weak-null ADRP relocationRyan Sepassi5+52-18
2026-06-06 02:39Add freestanding runtime ctypeRyan Sepassi6+182-10
2026-06-06 02:26Fix rv64 toy TLS cross startupRyan Sepassi2+27-8
2026-06-06 02:04Partition the relocation byte-patcher per-arch (RELOC WS-C)Ryan Sepassi15+809-437
2026-06-05 23:31Implement per-arch RelocDesc table + residual gates (RELOC WS-B, WS-E.2/E.3)Ryan Sepassi24+805-337
2026-06-05 23:30Defer O1 local static data symbolsRyan Sepassi8+196-42
2026-06-05 22:10Add stack backtrace sources to driver rt manifestRyan Sepassi1+8-3
2026-06-05 22:03doc/plan: rescope RELOC.md after the modularity waves landedRyan Sepassi2+231-260
2026-06-05 21:45Implement tool-side auto-backtrace for run & dbg (BACKTRACE L3c/WS5)Ryan Sepassi14+573-25
2026-06-05 16:49Implement kit symbolize (BACKTRACE L3a/WS5)Ryan Sepassi12+466-83
2026-06-05 16:26Implement __kit_print_backtrace & assert hook (BACKTRACE L3a/WS4)Ryan Sepassi12+682-40
2026-06-05 15:38Implement stack-trace builtins & __kit_backtrace (BACKTRACE L1+L2)Ryan Sepassi41+708-61
2026-06-05 21:47modularity: gate COFF weak-extern underscore alias on a vtable capability + fix stale objdump goldenRyan Sepassi6+19-2
2026-06-05 18:51modularity wave 4: compiler-free language resolution + obj-owned fmt names + jit TLS hookRyan Sepassi12+286-154
2026-06-05 18:13modularity wave 3: route frontend/driver/backend consumers through hooksRyan Sepassi17+516-318
2026-06-05 17:51modularity wave 2: route obj/link/cg/api/asm/dwarf through capability hooksRyan Sepassi18+348-292
2026-06-05 17:29modularity wave 1: add pluggable-axis capability hooks (additive infra)Ryan Sepassi25+1305-30
2026-06-05 17:06modularity #9: move wasm_imports to src/obj, drop cg cross-boundary leakRyan Sepassi6+131-133
2026-06-05 16:35Generalize VM execution into the shared exec seam + a hosted test suiteRyan Sepassi14+904-322
2026-06-05 14:54test-toy: run the Toy corpus hosted in the FreeBSD/Windows VMsRyan Sepassi6+540-4
2026-06-05 13:40doc/plan: add stack-trace builtins & runtime backtrace roadmapRyan Sepassi2+229-0
2026-06-04 21:01Implement whole-program optimization (LTO Phase 0 + Phase 1)Ryan Sepassi61+3663-583
2026-06-05 04:51Fix Windows x64/arm64 variadic ABI at O0 and O1Ryan Sepassi17+732-58
2026-06-05 02:00Fix Windows PE x64 startup and callback ABIRyan Sepassi13+307-120
2026-06-05 00:12Add release runtime variantsRyan Sepassi6+142-72
2026-06-04 23:41coff: emit PE exception directory metadataRyan Sepassi1+24-5
2026-06-04 23:41windows: add ARM64 VM runner for COFF smoke testsRyan Sepassi5+1253-102
2026-06-04 23:40test: add FreeBSD hosted link VM smokeRyan Sepassi5+387-4
2026-06-04 23:39link: emit FreeBSD PIE metadata for rtldRyan Sepassi2+106-37
2026-06-04 23:39link: fix FreeBSD hosted static executablesRyan Sepassi4+277-98
2026-06-04 23:37elf: add hosted FreeBSD relocation primitivesRyan Sepassi8+102-24
2026-06-04 20:57freebsd: VM execution harness for amd64/aarch64/rv64Ryan Sepassi2+855-0
2026-06-04 20:57freebsd: cross-compile target, runtime, and link supportRyan Sepassi5+69-0
2026-06-04 18:36windows: provision llvm-mingw UCRT sysroots for kit-only cross-compileRyan Sepassi10+677-17
2026-06-04 17:49test: add freestanding qemu-system smokeRyan Sepassi5+485-30
2026-06-04 17:45aa64: support bitfield extension aliasesRyan Sepassi10+189-12
2026-06-04 16:59Add initial release punchlistRyan Sepassi2+271-0
2026-06-04 15:43Drain driver TODO backlogRyan Sepassi10+607-719
2026-06-04 15:18driver: add build-exe/build-lib/build-obj, retire compileRyan Sepassi17+2917-738
2026-06-04 13:56doc/plan: add LTO / whole-program optimization planRyan Sepassi1+369-0
2026-06-04 13:49doc/plan: design for build-exe/build-lib/build-obj (replacing compile)Ryan Sepassi2+293-0
2026-06-04 09:24wasm: tighten shared-memory max to min pages so atomics modules loadRyan Sepassi1+8-8
2026-06-04 08:58cg/asm: reject 64-bit values in register asm constraints on 32-bit targetsRyan Sepassi11+58-19
2026-06-04 08:39rv32 parse: resolve LP64-assumption corpus failuresRyan Sepassi4+27-9
2026-06-04 05:15test/rv32: drop clang gate from bare-metal toy/parse lanesRyan Sepassi3+8-4
2026-06-04 05:01rv32 lowering fixesRyan Sepassi3+107-22
2026-06-04 05:01toy: pointer-width isize/usize, int wideningRyan Sepassi20+415-147
2026-06-04 04:27Test ABI split-lane scalar queryRyan Sepassi1+64-3
2026-06-04 04:22rv32: use ABI split-lane scalar metadataRyan Sepassi19+238-119
2026-06-04 03:55Fix rv32 toy target arch and wide intrinsicsRyan Sepassi5+17-2
2026-06-04 03:37rv32: fix 8-byte variadic high-word drop, O1 label-addr width, long double, atomicsRyan Sepassi18+137-25
2026-06-04 02:37rv32: close most remaining cross-target reds (atomics, overflow, soft-fp, TLS, __int128, CSR, asm goldens)Ryan Sepassi85+1157-40
2026-06-04 00:25rv32: auto-build and auto-link the freestanding runtime like any targetRyan Sepassi6+171-42
2026-06-04 00:02rv32: bring up and complete riscv32-none-elf cross targetRyan Sepassi93+14450-10399
2026-06-04 03:38Fix Apple ARM64 variadic stack slotsRyan Sepassi5+106-24
2026-06-04 03:28Implement wasm sandbox host shimRyan Sepassi15+2457-343
2026-06-04 02:18Harden wasm runtime import handlingRyan Sepassi33+1467-252
2026-06-03 23:00aa64 asm: parse logical-immediate and lsl/lsr/asr aliasesRyan Sepassi5+105-4
2026-06-03 22:24make: add rt to default targetRyan Sepassi1+1-1
2026-06-03 22:04doc: regenerate CODE_SIZE.md after the economy refactorRyan Sepassi1+78-78
2026-06-03 21:53Exercise toy cross TLS startup with kitRyan Sepassi2+93-5
2026-06-03 21:53Add AA64 system register asm supportRyan Sepassi4+247-0
2026-06-03 21:53Support explicit register asm operandsRyan Sepassi38+1063-244
2026-06-03 19:12cg: restore out-of-range fallback in intrinsic table accessorsRyan Sepassi1+14-4
2026-06-03 18:46plan: RV32Ryan Sepassi1+385-0
2026-06-03 18:34test/coff: fix stale ARM64EC test to use KitTargetSpec (feature-model API)Ryan Sepassi1+1-1
2026-06-03 18:26cc: drop chatty "ignoring accepted compatibility flag" logRyan Sepassi2+6-29
2026-06-03 18:18obj/link: single-source no-location as SRCLOC_NONE; drop 22 no_loc() copiesRyan Sepassi23+402-513
2026-06-03 17:45link: single-source synthetic-region builder + ObjSym classificationRyan Sepassi6+290-594
2026-06-03 17:36emu/interp: drop dead cpu_state cluster, size-param load/store, de-global interp fault latchRyan Sepassi8+94-150
2026-06-03 17:30econ(obj-api-tables): table-drive COFF machine set; drop source.c tempsRyan Sepassi3+61-68
2026-06-03 17:30toy: table-drive dot-const parsers, flag loops, mem-xfer scaffoldingRyan Sepassi6+270-356
2026-06-03 17:30cpp: delete dead literal table; collapse #if binops into precedence loopRyan Sepassi8+193-168
2026-06-03 17:30lang/c: collapse per-TypeKind switches into one property tableRyan Sepassi5+81-127
2026-06-03 17:31obj: single-source ELF sym tables + writer LE helpersRyan Sepassi7+161-215
2026-06-03 17:35debug: unify DWARF form decoders behind a section-parameterized readerRyan Sepassi5+55-140
2026-06-03 17:33cg/opt: single-source width-aware integer constant-fold semanticsRyan Sepassi6+294-343
2026-06-03 17:45econ(native-shared): share inline-asm constraint + abi-clobber helpersRyan Sepassi5+107-128
2026-06-03 17:39econ(native-shared): share file_scope_asm + finalize in cg/native_asmRyan Sepassi5+48-34
2026-06-03 17:37econ(native-shared): hoist NativeLoc + scalar helpers into native_target.hRyan Sepassi5+340-397
2026-06-03 17:44wasm: collapse five parallel instruction switches into one WASM_INSN tableRyan Sepassi6+495-1582
2026-06-03 17:21cg: collapse four parallel KitCgIntrinsic switches into one descriptor tableRyan Sepassi2+72-187
2026-06-03 17:25dist: delete dead legacy kpkg v2 package-format surfaceRyan Sepassi2+0-395
2026-06-03 18:13Introduce target feature modelRyan Sepassi100+1801-368
2026-06-03 18:11mk: move test mk files to mk/Ryan Sepassi8+1046-1042
2026-06-03 16:09build: give libkit.a members unique, path-flattened namesRyan Sepassi3+70-33
2026-06-03 15:36doc: add binary code-size section from release linker mapRyan Sepassi4+325-5
2026-06-03 15:29doc: add CODE_SIZE.md with per-component cloc counts + regen scriptRyan Sepassi4+286-1
2026-06-03 14:45build: split Makefile into mk/ includes; fold rt build into MakefileRyan Sepassi9+878-864
2026-06-03 03:11driver: add generic `compile` front door; frontends own their flagsRyan Sepassi23+1086-114
2026-06-03 00:39driver: add standard-named aliases for hash and compressRyan Sepassi9+245-35
2026-06-02 23:49driver: add install command for drop-in toolchain symlinksRyan Sepassi14+695-31
2026-06-02 23:45make format: format git diff files by defaultRyan Sepassi1+15-1
2026-06-02 23:23driver: auto-resolve hosted sysroot when targeting the hostRyan Sepassi14+849-232
2026-06-02 23:14cg+aa64: use immediate operand forms for shifts/and/cmp at -O0Ryan Sepassi6+273-77
2026-06-02 22:38cg/fold: strength-reduce mul/udiv/urem by powers of two at -O0Ryan Sepassi6+320-2
2026-06-02 22:18driver run: shebang supportRyan Sepassi7+133-0
2026-06-02 21:57plan: kit build v2Ryan Sepassi1+450-230
2026-06-02 21:55rename: cfree -> kitRyan Sepassi886+38173-37732
2026-06-02 20:50plan: build system plan v1Ryan Sepassi2+442-0
2026-06-02 19:20rt: mark the remaining libc symbols weakRyan Sepassi15+65-30
2026-06-02 19:07compress: add standalone gzip + LZ4-frame compress toolRyan Sepassi20+7542-9
2026-06-02 18:25dist: ship libcfree + headers; keep on-demand rt out of install treeRyan Sepassi3+51-21
2026-06-02 18:18doc: document the new xxd/cmp/hash/disas/mc toolsRyan Sepassi1+7-2
2026-06-02 18:17test: cover the new byte-utility tools + hash APIRyan Sepassi4+181-2
2026-06-02 18:12driver: add mc tool (assemble an instruction, show its encoding)Ryan Sepassi5+307-0
2026-06-02 18:09driver: add disas tool (disassemble raw machine-code bytes)Ryan Sepassi5+282-0
2026-06-02 18:06hash: add public cfree/hash.h API + driver hash toolRyan Sepassi10+408-19
2026-06-02 18:05driver: add cmp tool (byte-by-byte file comparison)Ryan Sepassi5+287-0
2026-06-02 18:02driver: add xxd tool (raw hex dump with reverse/plain/include modes)Ryan Sepassi5+485-0
2026-06-02 16:32test: split test-bootstrap-toy into -debug/-release sub-targetsRyan Sepassi1+10-1
2026-06-02 15:33cg: make CmpOp FP-compare-lossless and reach all 12 FP predicates from frontendsRyan Sepassi34+1290-185
2026-06-02 15:25test: rename bootstrap-test-toy -> test-bootstrap-toy, add to default test targetsRyan Sepassi5+12-8
2026-06-02 15:16cg: remove bitfield_load/store from CgTarget; impls translate (Track 3b follow-up)Ryan Sepassi7+90-49
2026-06-02 14:54cg: drop the C frontend's stale duplicate INTRIN_BSWAP16/32/64 (Track 4a follow-up)Ryan Sepassi1+0-3
2026-06-02 14:40cg: fix i128 -O1 null-deref — flow wide16 int constants as VALUEs (Track 7.3 follow-up)Ryan Sepassi2+15-12
2026-06-02 13:34plan: flag i128_06 -O1 regression on this branch (blocks merge)Ryan Sepassi1+12-0
2026-06-02 13:16plan: record CODEGEN tracks landed/attempted on codegen-tracks-7634Ryan Sepassi1+121-125
2026-06-02 13:13cg: supports_intrinsic query + diagnostic + CPU intrinsics (Track 4c)Ryan Sepassi42+543-63
2026-06-02 12:36cg: make unreachable a first-class terminator hook + IR op (Track 4b)Ryan Sepassi28+95-34
2026-06-02 12:07cg: collapse INTRIN_BSWAP16/32/64 into one width-by-type BSWAP (Track 4a)Ryan Sepassi9+139-114
2026-06-02 11:47cg: bitfield as a PLACE subkind, drop the MemAccess bitfield rider (Track 3b)Ryan Sepassi6+135-57
2026-06-02 11:09cg: re-enable SV_ARITH delayed-arith -O0 peephole (Track 6.3)Ryan Sepassi3+21-18
2026-06-02 10:54cg: flow i128/f128 as VALUEs, collapse wide16 special paths (Track 7.3)Ryan Sepassi2+19-100
2026-06-02 10:51plan: fp cg fixRyan Sepassi1+182-0
2026-06-02 10:32cg: explicit PLACE predicate + forbid aggregate VALUEs (Track 7.1/7.2)Ryan Sepassi3+27-16
2026-06-02 09:49cg: strict PLACE/VALUE addressing, remove the load/store EA rider (Track 7)Ryan Sepassi16+1104-1415
2026-06-02 03:04plan: record Track 6.2 (fold.{c,h} extraction) as landedRyan Sepassi1+18-14
2026-06-02 03:03cg: isolate the -O0 semantic peephole into fold.{c,h} (Track 6.2)Ryan Sepassi5+774-679
2026-06-02 02:44plan: rework CODEGEN.md to record landed tracks + focus on what remainsRyan Sepassi1+268-390
2026-06-02 02:41test: add bootstrap to make testRyan Sepassi1+2-1
2026-06-02 02:29cg: consume public CfreeCgAtomicOp/CfreeCgMemOrder directly (Track 2, atomics slice)Ryan Sepassi22+187-241
2026-06-02 02:16cg: consume the public CfreeCgAsmDir directly (Track 2, asm-dir slice)Ryan Sepassi7+9-23
2026-06-02 02:12cg: remove the FP_REM façade (Track 4, decision #3)Ryan Sepassi4+3-13
2026-06-02 02:00cg: drop advertise-but-ignore MemAccess fields (Track 3a, decision #5)Ryan Sepassi4+3-26
2026-06-02 01:29cg: expose multi-result functions in the public API (Track 5)Ryan Sepassi33+402-165
2026-06-02 01:25cg/ir: specify IR to remove all undefined behavior; lock interpreter to itRyan Sepassi6+825-36
2026-06-02 01:05scripts: fail loudly on unmapped sources in gen_compile_commandsRyan Sepassi1+18-1
2026-06-02 00:52cg: remove dead SCOPE_IF/scope_else surface and CFREE_CG_TAIL_NEVER (Track 1a/1d)Ryan Sepassi31+26-214
2026-06-02 00:44test: fix asm corpus all-n/a and make test-asm a multi-arch aggregateRyan Sepassi3+31-20
2026-06-02 00:33plan: sketch RQL RSNRyan Sepassi2+1554-0
2026-06-02 00:33plan: codegen updateRyan Sepassi1+459-0
2026-06-02 00:33test: expand default targetsRyan Sepassi1+5-1
2026-06-02 00:22link: treat DSO exports as defined so archives don't shadow shared libsRyan Sepassi1+12-0
2026-06-02 00:15arch/c_target: re-emit file-scope asm verbatimRyan Sepassi4+48-0
2026-06-02 00:15arch/c_target: lower 128-bit runtime-helper calls to native __int128Ryan Sepassi1+130-0
2026-06-02 00:14rt: mark stdlib libc functions weak so host definitions can overrideRyan Sepassi1+22-13
2026-06-02 00:14test: use an unknown clobber_abi name in the error caseRyan Sepassi1+1-1
2026-06-02 00:14test: allowlist libc deps pulled in by the in-lib dist subsystemRyan Sepassi1+4-0
2026-06-02 00:14test: build each arch's linux rt archive for test-rt-runtimeRyan Sepassi1+29-17
2026-06-02 00:14test: accept aa64 as an alias for aarch64 in exec/image helpersRyan Sepassi2+23-20
2026-06-02 00:14test: scope CF_WORK per target tuple to fix parallel-dispatch racesRyan Sepassi1+8-2
2026-06-02 00:14test: set cf_workdir's EXIT trap in the caller's shellRyan Sepassi7+15-12
2026-06-02 00:14api/asm_emit: symbolize PC-relative local branches at section offset 0Ryan Sepassi1+37-2
2026-06-02 00:14arch/wasm: load frame-resident pointer locals in indirect addressingRyan Sepassi2+65-4
2026-06-01 22:02dist: fix review findings in the package layerRyan Sepassi2+44-22
2026-06-01 21:57test: standardize all harnesses onto canonical types (U/C/K/D)Ryan Sepassi76+6510-7392
2026-06-01 21:43arch: fix -O1 inline-asm callee-saved clobber frame panic; add FP constraints + clobber_abiRyan Sepassi19+318-53
2026-06-01 21:30dist: move CAS + signed-package subsystem into libcfreeRyan Sepassi53+3355-2235
2026-06-01 20:36frontends: eliminate the C->src/abi phantom edge, tighten wasm to one boundaryRyan Sepassi8+103-84
2026-06-01 20:24arch: known-frame prologue cost-model tiers for x64 and rv64Ryan Sepassi9+469-71
2026-06-01 20:04frontend: replace the cg_public_compat.h macro shim with direct pcg_* callsRyan Sepassi12+926-932
2026-06-01 19:25include: make frontend.h the single frontend front doorRyan Sepassi10+34-24
2026-06-01 19:06frontend: C registers its extensions; drop the fallback-to-CRyan Sepassi5+36-13
2026-06-01 19:02core: unify slice helpers onto the public inline implsRyan Sepassi2+15-38
2026-06-01 18:27Rewrite docsRyan Sepassi73+8642-37691
2026-06-01 17:12test: link x64-dbg test against LIB_OBJS, not the archiveRyan Sepassi1+5-2
2026-06-01 17:10rt: depend archive on rt/Makefile so a grown member list regenerates itRyan Sepassi1+8-1
2026-06-01 16:47driver/ reorganize into cmd/ lib/ subdirsRyan Sepassi48+74-66
2026-06-01 16:36make: cut Makefile-load overhead from ~507 to ~25 child processesRyan Sepassi2+32-70
2026-06-01 16:20rm stray obj fileRyan Sepassi1+0-90
2026-05-31 09:00cg: reference code locations via per-block local symbols, not fixed offsetsRyan Sepassi13+163-350
2026-05-31 06:00asm+test: full Toy cc -S → cfree/clang as exec parity across aa64/x64/rv64Ryan Sepassi9+363-85
2026-05-31 04:39rv64: emit explicit fcvt rounding mode in cc -S so clang re-encodes it exactlyRyan Sepassi4+74-35
2026-05-31 04:30rv64: emit canonical `addi rd,rs,%pcrel_lo` (not 3-operand `mv`) — clang-standardRyan Sepassi2+23-8
2026-05-31 04:04x64+rv64: complete the cc -S round-trip symbolizer (cross-exec 312/312 each)Ryan Sepassi13+635-124
2026-05-31 01:25doc: file-based incremental linking design (obj+link internals)Ryan Sepassi1+281-99
2026-05-31 00:46test+doc: correct rv64 hostas-cross root cause (cc -S infidelity, not emulation)Ryan Sepassi3+632-16
2026-05-31 00:40test+asm: hostas-cross gating default = aarch64-linux; x64/rv64 documented opt-inRyan Sepassi1+17-8
2026-05-31 00:37x64: cc -S symbolizer + disasm/as fidelity fixes (cross-assemble green)Ryan Sepassi8+190-34
2026-05-30 23:54test+asm: cross-compile + cross-exec host-assembler lane (test-hostas-cross)Ryan Sepassi3+343-8
2026-05-30 23:16asm: object-format-aware cc -S; aa64 Mach-O is clang-acceptable (test-hostas-toy gates)Ryan Sepassi11+641-143
2026-05-30 20:16test+asm: host-assembler execution lane over the Toy corpus (test-hostas-toy)Ryan Sepassi3+216-0
2026-05-30 18:08asm: round-trip SEC_OTHER named sections; toy /ld exec laneRyan Sepassi6+175-40
2026-05-30 02:17emu: add interpreter execution mode (cfree emu -interp)Ryan Sepassi12+1252-268
2026-05-29 22:29C front end: implement labels-as-values (computed goto)Ryan Sepassi30+326-29
2026-05-29 17:48Add threaded-bytecode interpreter for the opt IR (cfree run --no-jit)Ryan Sepassi25+4033-50
2026-05-30 02:07Fix O1 bootstrap scratch register hazardsRyan Sepassi3+160-185
2026-05-29 23:47O1: deref through a frame-resident pointer localRyan Sepassi8+308-80
2026-05-29 21:13doc: record 3-stage bootstrap state and the open -O1 cc.c param-bind miscompileRyan Sepassi1+157-0
2026-05-29 20:48O1 aa64: fix two regalloc interference bugs + add third int scratch regRyan Sepassi3+34-9
2026-05-29 19:53type_qualified: intern via assignment so memcmp is padding-stableRyan Sepassi1+18-9
2026-05-29 19:38Auto-link cfree runtime from ldRyan Sepassi6+259-91
2026-05-29 18:32Fix three aa64/-O0 codegen & linkage bugsRyan Sepassi8+75-25
2026-05-30 14:05asm: close 9/10 toy round-trip skips (&&label, .comm, macho addend)Ryan Sepassi4+84-30
2026-05-30 13:46test+asm: Toy-corpus L2 round-trip lane; fix .inst-dropped miscompileRyan Sepassi5+153-2
2026-05-30 06:17test: llvm differential cross-check (cfree as/disasm vs llvm-mc)Ryan Sepassi3+155-3
2026-05-30 06:07asm: emit .bss as NOBITS (close the last round-trip skip)Ryan Sepassi4+37-18
2026-05-30 05:57test+aa64: asm<->disasm self-symmetry sweep (decode<->encode)Ryan Sepassi8+306-0
2026-05-30 03:23doc+build: round-trip covers the full core op set; wire L0+L1 into default testRyan Sepassi2+64-20
2026-05-30 03:20aa64: decode load/store exclusive + acquire/release atomicsRyan Sepassi11+105-0
2026-05-30 03:02test: expand round-trip corpus to the full core op setRyan Sepassi267+1857-0
2026-05-30 03:01asm: FP/SIMD scalar load/store + dot-mangled symbol namesRyan Sepassi5+118-22
2026-05-30 02:33asm: symbolize data-section relocations in cc -S (jump tables)Ryan Sepassi4+118-14
2026-05-30 02:28asm: round-trip .L local symbols + complete the unscaled ld/st familyRyan Sepassi7+106-16
2026-05-30 02:20asm: relax same-section local branches at finalize (round-trip P2)Ryan Sepassi2+65-9
2026-05-30 01:24asm: implement aa64 codegen round-trip testing (L0/L1/L2) + symbolize -SRyan Sepassi20+815-10
2026-05-30 00:03doc: plan for asm/disasm completeness via codegen round-trip testingRyan Sepassi1+205-0
2026-05-29 23:00asm: fix 5 issues found by adversarial review of the session diffRyan Sepassi8+58-8
2026-05-29 22:15toy: make the REPL frontend compile transactionalRyan Sepassi35+1030-250
2026-05-29 21:27build: generate compile_commands.json for clangdRyan Sepassi2+126-0
2026-05-29 21:07Improve dbg REPL listing and stop messagesRyan Sepassi14+343-60
2026-05-29 22:42doc: mark native-arch asm/link completeness items doneRyan Sepassi1+60-34
2026-05-29 22:39x64 asm: parse sym(%rip), @PLT, @GOTPCREL relocation-operator operandsRyan Sepassi4+93-26
2026-05-29 22:33aa64 asm: parse :lo12:/:got:/:got_lo12: relocation-operator operandsRyan Sepassi4+123-3
2026-05-29 22:30rv64 asm: parse %hi/%lo/%pcrel_hi/%pcrel_lo relocation-operator operandsRyan Sepassi4+125-1
2026-05-29 22:23aa64 asm: encode ldst addressing modes, atomics/exclusive/LSE, mov ORR-bitmaskRyan Sepassi23+858-8
2026-05-29 22:15aa64 disasm: decode signed sub-word loads (ldrsb/ldrsh/ldrsw)Ryan Sepassi4+39-3
2026-05-29 22:15rv64 asm: encode call/tail/la/lla pseudos and multi-word liRyan Sepassi12+210-8
2026-05-29 22:15rv64 link: apply R_RISCV_SET_ULEB128/SUB_ULEB128 (DWARF diff relocs)Ryan Sepassi4+281-0
2026-05-29 22:15x64 asm: encode SIB index/scale, bare (%rip), and ALU/MOV memory-store formsRyan Sepassi14+228-18
2026-05-29 21:34doc: reconcile completeness checkboxes with committed workRyan Sepassi1+16-14
2026-05-29 21:29test/objdump: refresh aarch64 golden for sbfm decode; honor SKIP casesRyan Sepassi2+15-3
2026-05-29 21:26doc: record aa64 asm-encode progress (FP/bitfield/DP1/sub-word ldst done)Ryan Sepassi1+27-17
2026-05-29 21:24aa64 asm: encode byte/half and signed sub-word loads/storesRyan Sepassi4+48-3
2026-05-29 21:22aa64 asm: encode bitfield (sbfm/ubfm/bfm) and DP1 (clz/rbit/rev/rev16)Ryan Sepassi5+84-0
2026-05-29 21:20aa64 asm: encode scalar floating-point instructionsRyan Sepassi5+235-0
2026-05-29 21:15test/driver: assert rt auto-build via linked symbols, not the cache pathRyan Sepassi1+13-6
2026-05-29 21:05doc: update native-arch completeness — Tier 0-1 done, most Tier 2-4 doneRyan Sepassi1+38-16
2026-05-29 21:04mc: make the CFI prologue-PC override sticky until cfi_endprocRyan Sepassi1+12-5
2026-05-29 21:02test: add opt-in test-link-x64 for x64 ELF reloc applicationRyan Sepassi1+9-0
2026-05-29 21:01asm: implement .comm/.lcomm and .uleb128/.sleb128 (were silently skipped)Ryan Sepassi4+73-3
2026-05-29 20:58rv64 link: route far calls through JIT call stubsRyan Sepassi1+12-0
2026-05-29 20:56test: run x64 and rv64 assembler+disassembler in the default suiteRyan Sepassi2+16-2
2026-05-29 20:54rv64 asm: assemble symbolic branches and jumps via relocationsRyan Sepassi4+38-8
2026-05-29 20:48aa64 disasm: decode FP, bitfield, DP1, and register-offset ldstRyan Sepassi5+232-0
2026-05-29 20:37doc: mark native-arch completeness progress (5 of Tier 0-2 done)Ryan Sepassi1+17-19
2026-05-29 20:36x64/rv64: emit named parameters and locals in .debug_infoRyan Sepassi2+34-2
2026-05-29 20:32x64 disasm: decode movd/movq (66 0F 6E/7E) and xorps/xorpd (0F 57)Ryan Sepassi4+55-13
2026-05-29 20:27x64: map hardware GPR encoding to DWARF reg number in CFIRyan Sepassi6+75-12
2026-05-29 20:22rv64: emit TLS Local-Exec only, matching aa64/x64Ryan Sepassi3+63-29
2026-05-29 20:18aa64: emit Windows/COFF TLS Local-Exec access sequenceRyan Sepassi2+148-0
2026-05-29 19:42test: add opt-in test-parse-rv64-wide target for rv64 128-bit scalarsRyan Sepassi1+14-0
2026-05-29 19:32opt/x64: report the rdx:rax clobber of the unsigned multiply-overflow intrinsicRyan Sepassi2+17-0
2026-05-29 19:32opt: parameters mutually interfere at function entryRyan Sepassi1+9-1
2026-05-29 19:32cg: save the full value width when breaking an arg-shuffle cycleRyan Sepassi1+19-2
2026-05-29 19:32rv64: route conditional branches through a jal for ±1MiB reachRyan Sepassi2+36-13
2026-05-29 18:59x64: integer va_arg does offset arithmetic in its own dst registerRyan Sepassi8+74-40
2026-05-29 18:47opt: make machine-clobber forbids survive the ABI register hintsRyan Sepassi2+31-2
2026-05-29 18:22opt: teach the allocator about fixed-register machine-instruction clobbersRyan Sepassi5+162-3
2026-05-29 16:53cgpkg v3 CAS-based packagesRyan Sepassi26+5020-594
2026-05-29 18:00doc: opt reg constraints planRyan Sepassi1+180-0
2026-05-29 17:31x64 -O1: use only reserved emit scratch in va_arg/va_copy/copy_bytesRyan Sepassi1+87-56
2026-05-29 17:15CG runtime doc planRyan Sepassi1+279-0
2026-05-29 16:50x64: make -O1 entry param-binds cycle-safe via the shared shuffleRyan Sepassi4+170-46
2026-05-29 16:40Share the parallel-copy arg-move scheduler; x64 NativeFrame + partial O1Ryan Sepassi5+290-294
2026-05-29 16:12rv64: adopt NativeFrame, implement -O1 known-frame pathRyan Sepassi4+161-100
2026-05-29 16:10Fix O1 static data function pointer reachabilityRyan Sepassi1+95-22
2026-05-29 15:56Add shared NativeFrame module; migrate aa64 onto itRyan Sepassi4+339-126
2026-05-29 15:21rv64+x64: implement sibling (tail) callsRyan Sepassi2+193-26
2026-05-29 15:01x64: port to NativeTarget API (-O0)Ryan Sepassi15+8618-4777
2026-05-29 11:55rv64: port to NativeTarget API (-O0 core)Ryan Sepassi16+7684-4486
2026-05-29 05:15dbg: use standard step commandsRyan Sepassi17+374-83
2026-05-29 05:14Add dbg line editing and completionsRyan Sepassi6+730-5
2026-05-29 04:51test aa64 tail callsRyan Sepassi2+98-1
2026-05-29 04:30Emit Toy local debug info from CGRyan Sepassi10+135-14
2026-05-29 04:12dbg: add disasm, expand testsRyan Sepassi59+493-71
2026-05-29 03:33Prune unreachable static AArch64 O1 functionsRyan Sepassi9+387-1
2026-05-29 03:26Advance Toy dbg REPL tests and TODOsRyan Sepassi22+358-109
2026-05-29 02:16Fix AArch64 O1 va_start save area offsetsRyan Sepassi1+4-2
2026-05-29 02:12opt: reduce jump cleanup rescansRyan Sepassi1+11-6
2026-05-29 02:02doc: refresh OPT_O1_PERF_TODO standings (2026-05-28 sweep)Ryan Sepassi1+42-34
2026-05-29 01:43Tighten package verification checksRyan Sepassi5+47-1
2026-05-29 01:32pkg: canonicalize artifact orderRyan Sepassi3+472-47
2026-05-29 01:15pkg: vendor depsRyan Sepassi25+10085-216
2026-05-29 00:47Implement v2 package distributionRyan Sepassi15+1680-982
2026-05-28 21:20pkg: basic signed code distribution (cfree pkg)Ryan Sepassi30+2866-19
2026-05-29 01:48opt/aa64: fold O1 prologue via fp-at-bottom frame layoutRyan Sepassi5+309-157
2026-05-29 01:20opt: fold const convert-of-load_imm and thread branch targets through pass-through blocks"Ryan Sepassi6+323-15
2026-05-29 00:23doc: add PERCALL.md detailing -O1 per-call overhead and the optimalRyan Sepassi1+127-0
2026-05-28 21:32doc: refresh binary-trees -O1 numbers after known-frame prologueRyan Sepassi1+3-2
2026-05-28 21:27opt/aa64: fix five O1 codegen bugs (i128/ldbl/variadic/asm)Ryan Sepassi6+106-11
2026-05-28 20:49opt/aa64: plan the O1 call frame up front, drop all back-patchingRyan Sepassi4+361-165
2026-05-28 20:18wasm: fix all 7 test/parse W-path failuresRyan Sepassi12+226-80
2026-05-28 19:31wasm/structure: unroll nested switches to fix infinite-loop dispatchRyan Sepassi2+39-10
2026-05-28 19:02doc: refresh wasm test/parse W-path checklistRyan Sepassi1+26-31
2026-05-28 19:02wasm/obj: objdump container reader and WAT disassemblerRyan Sepassi12+592-34
2026-05-28 19:02wasm: ir_emit lowerings for bitfields, aggregates, TLS, and condsRyan Sepassi2+179-34
2026-05-28 19:02wasm: opcode coverage and switch/atomic limitsRyan Sepassi9+828-374
2026-05-27 23:02wasm: make long double binary128 and report it unsupportedRyan Sepassi5+122-6
2026-05-28 20:01cg/ndt: O(cached) flush list, cached dispatch/class info, thin NativeOpsRyan Sepassi2+136-59
2026-05-28 20:00opt/aa64: unify deferred in-function patches into one tagged-union listRyan Sepassi1+82-76
2026-05-28 18:46bench: cache fixed-compiler baseline; default opt_bench to cfree-onlyRyan Sepassi4+359-176
2026-05-28 18:02link/elf: fix PIE relocations for code-address dataRyan Sepassi2+31-1
2026-05-28 17:38opt/aa64: resolve call-argument moves as a parallel copyRyan Sepassi3+166-13
2026-05-28 17:12opt+aa64: unify on AAPCS64 frame layout; hint params to incoming regsRyan Sepassi3+294-240
2026-05-28 16:34driver/env: add Windows host TU; extract env selection to mk/env.mkRyan Sepassi17+1921-228
2026-05-28 15:57driver/env: split into per-OS/arch TUs, drop ifdefs from implRyan Sepassi20+2276-1853
2026-05-28 15:34opt: hint call-arg sources to ABI dest regs + propagate through copiesRyan Sepassi2+111-1
2026-05-28 15:12opt: elide identity moves and the terminal IR_RET branchRyan Sepassi2+29-2
2026-05-28 13:39opt: O1 codegen batch — loop-imm hoist, ABI aliasing hints, slim prologue, IMUL strength-reduce, call copy-propRyan Sepassi14+922-68
2026-05-28 05:38opt: O1 codegen wins + tiny-function inlinerRyan Sepassi18+1660-596
2026-05-27 22:53core: add cfree_debug_getenv weak hook alongside cfree_debug_printfRyan Sepassi2+11-2
2026-05-27 22:35rm old opt testsRyan Sepassi4+0-7200
2026-05-27 23:09link/debug: retain DWARF in linked ELF/Mach-O imagesRyan Sepassi19+980-58
2026-05-27 22:27driver/link: default hosted targets to PIE; fix PE ASLR flags and static-PIE overflowRyan Sepassi7+47-11
2026-05-27 21:31opt: fix two O1 aa64 codegen-correctness bugsRyan Sepassi3+34-14
2026-05-27 20:36obj/objdump: extend image inspection — dynsym, rpath, stripped-segment disasmRyan Sepassi25+1093-67
2026-05-27 20:34cg: dump semantic CG IR via cc --emit=irRyan Sepassi10+522-40
2026-05-27 19:50cg: clear diagnostic when target arch backend isn't builtRyan Sepassi3+31-1
2026-05-27 19:44obj/objdump: add linked-image inspection (segments, dynamic info)Ryan Sepassi10+1030-38
2026-05-27 19:38opt: emit param_decls into a dedicated prologue blockRyan Sepassi1+18-1
2026-05-27 19:24aa64: pass/return long double (fp128) in full 128-bit q registerRyan Sepassi2+14-8
2026-05-27 19:16test: depend on cross-target rt archive for JIT-path harnessesRyan Sepassi1+19-3
2026-05-27 18:57build: create support/rt symlink alongside bin targetRyan Sepassi1+6-2
2026-05-27 18:50c/cg: emit FP add/sub for ++/-- on floating operandsRyan Sepassi1+21-12
2026-05-27 18:38test/toy: rename opt-level env var to CFREE_OPT_LEVELS, default O0+O1Ryan Sepassi1+2-2
2026-05-27 18:38bench: replace FAST flag with per-tool skip flags; add compare scriptRyan Sepassi2+207-18
2026-05-27 18:38wasm: de-rotate for-loop CFG blocks before structurizationRyan Sepassi1+108-0
2026-05-27 18:37opt: fold constant operands as immediates at O1; drop copy/return round-tripsRyan Sepassi3+114-44
2026-05-27 18:29opt: implement Design B of NativeDirectTarget local register cacheRyan Sepassi4+378-55
2026-05-27 18:20aa64: wire DWARF debug emission through the native_direct pathRyan Sepassi5+40-2
2026-05-27 17:58driver: add strings tool and objdump --dwarfRyan Sepassi25+1648-6
2026-05-27 17:01opt: add write-back local register cache to NativeDirectTarget (Design A)Ryan Sepassi3+398-40
2026-05-27 16:48driver: add dist target and move rt cache to DriverEnvRyan Sepassi5+51-67
2026-05-27 15:46doc: update O1 checklist — asm + direct-replay deletion + callee-saves + param-home doneRyan Sepassi1+71-22
2026-05-27 15:09opt: route incoming params straight into their allocated registerRyan Sepassi3+59-66
2026-05-27 13:37aa64: make callee-saved registers allocable at O1Ryan Sepassi3+166-16
2026-05-27 13:19opt: route inline asm through optimizer; delete direct-replay pathRyan Sepassi3+185-438
2026-05-27 12:56doc: aggregate/sret ABI complete on optimizer path (7 asm cases remain)Ryan Sepassi1+5-10
2026-05-27 12:56aa64: set sret x8 after argument loads in plan_callRyan Sepassi1+15-11
2026-05-27 12:50doc: update O1 recovery progress (aggregates mostly landed; tail-sret + asm remain)Ryan Sepassi1+34-4
2026-05-27 12:49opt: handle aggregate-typed COPY/LOAD/STORE via byte copyRyan Sepassi1+37-0
2026-05-27 12:44opt: aggregate ABI lowering on optimizer path (partial)Ryan Sepassi3+80-25
2026-05-27 12:33opt: route varargs through optimizer path; fix ADDR_OF spill writebackRyan Sepassi6+789-95
2026-05-27 01:10arch: split MCEmitter interface out of arch.h into mc.hRyan Sepassi19+178-156
2026-05-27 00:53wasm: route both emit backends through semantic IR recorder and shared opt pipelineRyan Sepassi2+298-109
2026-05-27 00:53aa64: convert native.c from CGTarget wrapper to NativeTarget implementationRyan Sepassi1+288-235
2026-05-27 00:53opt: rewrite pipeline to consume CgIrFunc input; replace pass_emit with NativeTargetRyan Sepassi13+3951-3843
2026-05-27 00:53cg: add i128 arithmetic via libcalls, wire supports_label_table through ir_recorderRyan Sepassi7+353-61
2026-05-27 00:53ir,opt,cg: define local-static-data IR ops, restructure opt pipeline boundaryRyan Sepassi6+268-76
2026-05-27 00:51parse: fix _Bool conversion to emit compare-against-zero rather than truncateRyan Sepassi1+20-0
2026-05-27 00:50test: add C and W paths to default test-toy; add W path to parse runnerRyan Sepassi3+93-9
2026-05-26 23:16arch: rm old regalloc.h/cRyan Sepassi4+6-204
2026-05-26 22:41build,test: add native-direct-target test, improve parse runnerRyan Sepassi5+566-10
2026-05-26 22:41aa64: delete old CGTarget backend, switch to NativeDirectTargetRyan Sepassi10+3305-4842
2026-05-26 22:41wasm: convert target to semantic CG via IR recorderRyan Sepassi4+740-345
2026-05-26 22:41c target: emit aliases from IR moduleRyan Sepassi1+4-0
2026-05-26 22:41cg: add IR alias support, semantic label tables, switch hint, store relaxRyan Sepassi7+105-16
2026-05-26 22:41arch,cg: introduce NativeTarget and NativeDirectTarget interfacesRyan Sepassi4+2050-16
2026-05-26 22:41abi: add va_list layout details per targetRyan Sepassi10+76-0
2026-05-26 22:40rt: fix __fixtfsi overflow and auto-detect native runtime variantRyan Sepassi1+32-1
2026-05-26 22:33rt: auto-detect host-native runtime variantRyan Sepassi1+34-10
2026-05-26 19:02Add IR recorder C backend pathRyan Sepassi14+5956-4187
2026-05-26 16:32Cut over Cg to semantic CgTargetRyan Sepassi28+2328-3689
2026-05-26 03:18Disable native backends for C target cutoverRyan Sepassi7+74-28
2026-05-26 02:51bootstrap: avoid post-link strip on release binariesRyan Sepassi9+69-57
2026-05-26 01:37CGTARGET plan updateRyan Sepassi1+90-32
2026-05-26 01:33formatRyan Sepassi660+12334-10258
2026-05-26 01:29macho: lower split sections to atomsRyan Sepassi54+1154-278
2026-05-26 00:12Add split section codegen flagsRyan Sepassi7+112-13
2026-05-25 23:52CGTarget planRyan Sepassi1+625-0
2026-05-25 23:51Add compile-time component knobsRyan Sepassi25+1414-214
2026-05-25 23:09Tighten release binary sizeRyan Sepassi1+11-2
2026-05-25 22:23Fix debug DWARF test targetsRyan Sepassi2+9-9
2026-05-25 20:44wasm: add backend and target feature supportRyan Sepassi112+17174-6499
2026-05-25 22:09Fix test targets for public API coverageRyan Sepassi21+1138-1642
2026-05-25 22:07Fix C backend bitfield base addressesRyan Sepassi1+45-1
2026-05-25 21:28mk: one-entry-per-line for .PHONY and test: prerequisitesRyan Sepassi2+81-4
2026-05-25 20:44cg: support tail-call realizabilityRyan Sepassi37+617-170
2026-05-25 21:20Keep CG API tests on public surfaceRyan Sepassi4+172-92
2026-05-25 21:13Fix parse harness public API boundariesRyan Sepassi5+83-82
2026-05-25 20:44cc: honor -x language for stdinRyan Sepassi2+43-6
2026-05-25 20:51Fix bootstrap partial linking issuesRyan Sepassi4+53-19
2026-05-25 20:28build: hide non-public libcfree symbolsRyan Sepassi19+306-304
2026-05-25 20:21Add release build toggleRyan Sepassi3+108-32
2026-05-25 20:12build: enforce public libcfree exportsRyan Sepassi5+148-18
2026-05-25 20:12cc: support default symbol visibilityRyan Sepassi6+46-7
2026-05-25 20:11driver: add check, asm output, and object toolsRyan Sepassi15+2278-18
2026-05-25 20:08build: make optimizer sources optionalRyan Sepassi10+47-3
2026-05-25 20:07build: isolate hosted driver environmentRyan Sepassi6+238-216
2026-05-25 20:05core: stabilize panic save layout across C environmentsRyan Sepassi2+10-2
2026-05-25 20:05doc: describe lowered-CG IRRyan Sepassi1+490-0
2026-05-25 11:23Emulator redesign, RV64 Linux minimal implRyan Sepassi34+7167-4464
2026-05-25 11:00Add ABI registry gatingRyan Sepassi10+118-74
2026-05-25 10:45Refactor object formats into gated directoriesRyan Sepassi66+12893-12751
2026-05-25 10:10Add object format registryRyan Sepassi10+603-502
2026-05-25 06:12opt pipeline redesignRyan Sepassi27+3090-629
2026-05-24 17:47Integrate self-hosted bootstrapRyan Sepassi4+75-248
2026-05-24 16:02aa64: don't clobber aggregate-return base with first field loadRyan Sepassi3+74-3
2026-05-24 13:37opt: don't reuse indirect-call target scratch as parallel-move tempRyan Sepassi1+8-5
2026-05-24 13:26cc: --sysroot triggers hosted mode; add freestanding math.hRyan Sepassi2+74-3
2026-05-24 13:05c_target: cast pointer operands of mem builtins to void*Ryan Sepassi1+16-3
2026-05-24 13:05rt: implement printf '*' width/precision; fix stale rt archive membersRyan Sepassi3+41-2
2026-05-24 12:42parse: accept compound-literal static initializers; fix bootstrap driver -IlangRyan Sepassi2+28-2
2026-05-24 12:19slice: replace NUL-terminated strings with fat-pointer CfreeSliceRyan Sepassi197+4234-3331
2026-05-24 00:37test: add format-bounce stress harness; fix assembler local UNDEFsRyan Sepassi12+507-1
2026-05-23 23:04bootstrap: fix self-compilation across frontend, codegen, and harnessRyan Sepassi7+105-12
2026-05-23 22:26ssa2 planRyan Sepassi1+932-0
2026-05-23 21:19lang: extract C preprocessor into lang/cpp/ behind CFREE_LANG_CPP_ENABLEDRyan Sepassi25+729-623
2026-05-23 20:37cc: drop --dump-tokens and the test/lex corpusRyan Sepassi38+19-1408
2026-05-23 20:30lang: registry-driven frontend dispatch with extensions on the vtableRyan Sepassi17+215-103
2026-05-23 17:43cg: introduce CGBackend; gate arch sources via config.hRyan Sepassi12+291-51
2026-05-23 17:06doc: add REGISTRY.md — build-time component configuration planRyan Sepassi1+219-0
2026-05-23 17:06doc: prune stale checklists and plansRyan Sepassi20+0-5758
2026-05-23 17:05opt: O1 perf — MIR-shaped combine, block reorder, scalar promote, addr-of-global CSERyan Sepassi7+2067-233
2026-05-23 17:03cg: extend memory ops with effective-address riderRyan Sepassi50+3211-1305
2026-05-22 19:34Add Windows PE/COFF supportRyan Sepassi88+12910-330
2026-05-22 20:34opt regalloc: swap to MIR-shaped point-bitmap allocator at O1Ryan Sepassi3+339-543
2026-05-22 19:24opt emit: dedup set_loc calls; cache hard-reg scan; gate verify on NDEBUGRyan Sepassi4+106-15
2026-05-22 18:50metrics speedup, defer loggingRyan Sepassi4+165-21
2026-05-22 18:07Enable coalescing and addr-xform at O1; add gap analysis and fast-bench modeRyan Sepassi9+458-20
2026-05-22 16:14Split optimizer design and performance docsRyan Sepassi7+490-3452
2026-05-22 15:29Fix O2 matrix and Darwin math blockersRyan Sepassi15+218-4
2026-05-22 11:54Add OPT benchmark harnessRyan Sepassi4+646-10
2026-05-22 10:59Add CG inline policy and Toy call attrsRyan Sepassi29+518-16
2026-05-22 10:08test O2 jump and inline cleanup qualityRyan Sepassi7+234-11
2026-05-22 09:41Complete optimizer Phase E inliningRyan Sepassi8+680-168
2026-05-22 05:54opt: add first Phase E inliner sliceRyan Sepassi5+671-17
2026-05-22 04:35Complete x64 backend parityRyan Sepassi67+6545-1154
2026-05-22 04:32Implement O2 jump optimizationRyan Sepassi4+284-10
2026-05-22 04:22Implement O2 SSA combineRyan Sepassi4+152-6
2026-05-22 02:41Refresh O2 optimizer planRyan Sepassi1+40-13
2026-05-22 02:34Optimize pressure relief passRyan Sepassi4+131-17
2026-05-22 01:05rv64: complete backend parity workRyan Sepassi210+10748-804
2026-05-22 01:00Implement O2 pressure reliefRyan Sepassi4+246-1
2026-05-22 00:51Implement LICM optimization passRyan Sepassi4+324-1
2026-05-22 00:36Implement O2 dead store eliminationRyan Sepassi4+537-4
2026-05-22 00:26opt: add identity simplification passRyan Sepassi8+748-43
2026-05-22 00:25opt: add path-aware memory GVNRyan Sepassi4+464-32
2026-05-21 23:07opt: place split spills on critical edgesRyan Sepassi6+372-87
2026-05-21 22:43opt: add first memory-aware gvn sliceRyan Sepassi4+719-23
2026-05-21 22:13opt: add SSA copy propagationRyan Sepassi7+295-5
2026-05-21 21:12Implement O2 allocation coalescing and splittingRyan Sepassi10+941-85
2026-05-21 20:37Align compile link and JIT session APIsRyan Sepassi28+2562-2477
2026-05-21 19:53Implement scalar GVNRyan Sepassi5+740-47
2026-05-21 19:19test opt scalar gvn red casesRyan Sepassi2+243-5
2026-05-21 19:18Keep O1 stack spill assignment linearRyan Sepassi3+296-53
2026-05-21 19:06Makefile: objs depend on MakefileRyan Sepassi1+8-7
2026-05-21 19:06Clean up O1 preg namespaceRyan Sepassi16+610-657
2026-05-21 18:59Improve Toy REPL diagnostic locationsRyan Sepassi6+38-13
2026-05-21 18:49Make optimizer pseudo-registers explicitRyan Sepassi14+725-84
2026-05-21 18:43Make dbg REPL frontend-drivenRyan Sepassi13+542-451
2026-05-21 18:10VIRTUAL_REGS planRyan Sepassi1+96-0
2026-05-21 18:06Make source frontends lifecycle-drivenRyan Sepassi10+454-219
2026-05-21 17:47Update FRONTEND planRyan Sepassi1+66-0
2026-05-21 17:46dbg: fallback to expr so jit/expr can be elidedRyan Sepassi2+49-9
2026-05-21 17:45Add stateful frontend vtableRyan Sepassi10+281-104
2026-05-21 17:45Make test-parse build runtime firstRyan Sepassi1+1-1
2026-05-21 17:35persistent frontend planRyan Sepassi1+62-0
2026-05-21 17:32Implement JIT session resilience via setjmp/longjmpRyan Sepassi5+68-8
2026-05-21 17:30test run.sh ensure podman never pullsRyan Sepassi3+4-4
2026-05-21 17:29c_target: implement native data relocations via packed structsRyan Sepassi2+228-708
2026-05-21 17:22cg: preserve switch table indices under optRyan Sepassi3+58-38
2026-05-21 17:21x64: fix optimized arithmetic and tail-call coverageRyan Sepassi3+158-11
2026-05-21 16:46C backend switch emit signedRyan Sepassi1+1-1
2026-05-21 16:32Add pre-GVN O2 rewrite coverageRyan Sepassi8+982-17
2026-05-21 15:39opt: add SSA DCE and copy cleanupRyan Sepassi14+571-199
2026-05-21 15:23opt: complete O2 SSA substrateRyan Sepassi12+296-140
2026-05-21 15:02Enable optimized toy cc coverageRyan Sepassi5+37-19
2026-05-21 14:50Improve AA64 compare and cset disassemblyRyan Sepassi10+198-12
2026-05-21 14:24Implement production SSA for O2Ryan Sepassi6+927-322
2026-05-21 14:08opt: add O2 analysis substrateRyan Sepassi8+639-312
2026-05-21 14:06Add rv64 asm/disasm parity scaffoldingRyan Sepassi17+741-40
2026-05-21 14:04x64: add asm disasm parity sliceRyan Sepassi27+1063-242
2026-05-21 14:02docs: add x64 parity checklistRyan Sepassi1+92-0
2026-05-21 13:55Expand driver flag compatibilityRyan Sepassi7+491-7
2026-05-21 04:41Improve emit-c source readabilityRyan Sepassi2+68-4
2026-05-21 03:49Place runtime cache under build rtRyan Sepassi11+55-19
2026-05-21 03:43Add jump-table lowering for CG switchesRyan Sepassi6+308-17
2026-05-21 02:58test: broaden switch corpus and seed jump-table red shape testRyan Sepassi13+478-1
2026-05-21 02:58toy: support // line commentsRyan Sepassi1+11-3
2026-05-21 02:58c-frontend: integer-promote switch controlling expressionRyan Sepassi3+37-0
2026-05-21 02:25cg: support C local static label tablesRyan Sepassi10+380-2
2026-05-21 02:09cg: redesign switch / computed_goto / label-addr around structured IRRyan Sepassi31+840-93
2026-05-20 23:33cg,c_target: wire cfree_cg_switch through a target hook; real C `switch`Ryan Sepassi8+256-43
2026-05-20 22:48c_target,c-frontend: emit structured for/break/continue from SCOPE_LOOPRyan Sepassi5+113-22
2026-05-20 21:48rt: drop hosted libc shim, use system headers via sysrootRyan Sepassi31+64-1879
2026-05-20 21:41c_target: cut bridge-cast noise; support Mach-O TLSRyan Sepassi2+293-45
2026-05-20 20:28test/toy: wrap i64 main with i32 thunk; drop -Wno-main-return-typeRyan Sepassi128+387-134
2026-05-20 20:15c_target: emit C that compiles under -Wall -Wextra -WerrorRyan Sepassi3+50-12
2026-05-20 19:24c_target: fix several path-C bugs in test-parseRyan Sepassi4+267-37
2026-05-20 19:23obj: builder mutators + strip/objcopy driversRyan Sepassi37+2820-218
2026-05-20 18:34c_target: land Phase 4 of the C-source backendRyan Sepassi4+925-99
2026-05-20 18:22driver: add cpp + ranlib tools and obj-roundtrip APIRyan Sepassi9+884-1
2026-05-20 17:55c_target: land Phase 3 of the C-source backendRyan Sepassi5+811-93
2026-05-20 17:24c_target: land Phase 2 of the C-source backendRyan Sepassi5+723-156
2026-05-20 16:59c_target: land Phase 0/1 of the C-source backendRyan Sepassi16+1859-206
2026-05-20 15:21Enable runtime printf float formattingRyan Sepassi10+476-38
2026-05-20 15:01doc: rewrite CBACKEND.md plan around CGTarget seamRyan Sepassi1+487-266
2026-05-20 14:31rt: implement freestanding header routinesRyan Sepassi9+995-44
2026-05-20 13:59Add bootstrap targetRyan Sepassi1+23-31
2026-05-20 13:59Fix parse bootstrap regressionsRyan Sepassi4+38-10
2026-05-20 13:43Fix self-hosted stage build without clang fallbackRyan Sepassi58+689-376
2026-05-20 12:30Split target and hosted predefined macrosRyan Sepassi10+124-5
2026-05-20 12:18Fix stage2 aggregate and aa64 bootstrap bugsRyan Sepassi14+231-21
2026-05-20 06:35Fix macro argument parsing for unbalanced bracesRyan Sepassi6+28-3
2026-05-20 06:14Preserve null constants through suppressed loadsRyan Sepassi3+11-1
2026-05-20 06:00Fix SQLite-driven codegen and Mach-O addendsRyan Sepassi16+257-3
2026-05-20 05:53Fix Lua-driven frontend and cc regressionsRyan Sepassi18+239-15
2026-05-20 05:28Implement relocatable ld linksRyan Sepassi8+605-19
2026-05-20 05:04Fix signed pointer index loweringRyan Sepassi8+65-12
2026-05-20 04:28Decorate runtime helper linkage namesRyan Sepassi1+3-1
2026-05-20 02:46Add hosted libc and runtime driver supportRyan Sepassi11+1831-15
2026-05-20 01:23Broaden driver compatibilityRyan Sepassi8+1147-131
2026-05-20 01:22Preserve ordered link inputsRyan Sepassi12+364-200
2026-05-20 01:22Fix C pointer constant casesRyan Sepassi16+256-117
2026-05-20 00:36Fix AArch64 logical immediate rotationRyan Sepassi2+18-1
2026-05-20 00:36Emit Mach-O TLV descriptors for TLS dataRyan Sepassi2+162-0
2026-05-20 00:36Fix FP negation and address codegenRyan Sepassi17+156-26
2026-05-20 00:36Fix C record and array parameter loweringRyan Sepassi17+268-101
2026-05-19 23:55Fix parser CAS type stackRyan Sepassi1+6-2
2026-05-19 23:40Fix parse edge casesRyan Sepassi5+111-17
2026-05-19 23:12Reorganize public API bridge filesRyan Sepassi20+1938-1950
2026-05-19 23:08src/opt src/cg breakup into multiple filesRyan Sepassi33+9450-9483
2026-05-19 23:02Fix Mach-O section name pointers during sortRyan Sepassi1+8-0
2026-05-19 23:01C11 BUGS add red testsRyan Sepassi9+111-9
2026-05-19 22:59lang/wasm/ refactor into multiple filesRyan Sepassi9+8390-8304
2026-05-19 22:32abi: classify wide16 scalars (i128, long double) in SysV-x64Ryan Sepassi3+276-3
2026-05-19 22:29cg: extract call-shape helpers and central storage-shape predicateRyan Sepassi2+406-131
2026-05-19 22:13Clean up public API: merge object headers, drop redundant accessors, use boolRyan Sepassi28+205-237
2026-05-19 21:56Fix Mach-O OutSec drift and clang non-extern reloc supportRyan Sepassi3+111-9
2026-05-19 21:51Fix parser bugs from BUGS listRyan Sepassi21+152-61
2026-05-19 21:45Support #warning directiveRyan Sepassi5+34-7
2026-05-19 21:38rm K&R fn defs expectationsRyan Sepassi4+0-21
2026-05-19 21:37Support block-scope function declarationsRyan Sepassi6+304-24
2026-05-19 21:30Fix brace-elided aggregate initializersRyan Sepassi2+202-51
2026-05-19 21:30Fix x64 PIC codegen and PIE dynamic-section noiseRyan Sepassi3+166-28
2026-05-19 21:11test: add red C11 frontend coverageRyan Sepassi29+151-0
2026-05-19 21:00Migrate codebase to new component-split public APIRyan Sepassi107+4397-3890
2026-05-19 19:44Public API rewriteRyan Sepassi20+1570-2006
2026-05-19 19:00Support Unicode transcoding in C literalsRyan Sepassi11+370-156
2026-05-19 18:52Expand C11 parser coverage and literal supportRyan Sepassi39+620-114
2026-05-19 18:30Fix parser constraint diagnosticsRyan Sepassi7+242-5
2026-05-19 16:30Complete i128 and binary128 long double supportRyan Sepassi25+1493-395
2026-05-19 15:01test: add red C11 parser conformance casesRyan Sepassi58+364-0
2026-05-19 14:32Add binary128 long double target testsRyan Sepassi66+1277-70
2026-05-19 13:37Complete freestanding runtime conformance gateRyan Sepassi15+509-41
2026-05-19 04:19Fix x64 atomic compare-exchange register pressureRyan Sepassi1+33-3
2026-05-19 04:12Build runtime with cfreeRyan Sepassi16+643-38
2026-05-19 02:38Update lib dependency allowlistRyan Sepassi2+5-4
2026-05-19 02:34Complete C11 declaration and expression semantics cleanupRyan Sepassi41+385-44
2026-05-19 01:34Complete C11 bit-field and static initializer semanticsRyan Sepassi18+479-106
2026-05-19 00:44Fix zero-fill static object emissionRyan Sepassi2+2-2
2026-05-19 00:20Fix runtime bootstrap parser blockersRyan Sepassi16+184-13
2026-05-18 23:46Fix typed overflow builtinsRyan Sepassi11+318-88
2026-05-18 22:51Implement typed C constant expression evaluationRyan Sepassi7+591-112
2026-05-18 22:39Fix macro hideset recursion in fp runtime probeRyan Sepassi17+115-18
2026-05-18 22:20Tighten C11 parse constraintsRyan Sepassi25+986-240
2026-05-18 21:50test: expand C11 conformance gap coverageRyan Sepassi26+211-19
2026-05-18 21:36Add C semantic checks and declaration stateRyan Sepassi20+418-25
2026-05-18 21:12Fix C11 parse error diagnosticsRyan Sepassi6+293-6
2026-05-18 20:55Set executable permissions on linked outputsRyan Sepassi6+119-7
2026-05-18 20:26fix parse aggregate and VLA loweringRyan Sepassi4+93-126
2026-05-18 19:22Support stack args in tail callsRyan Sepassi6+220-69
2026-05-18 18:28Validate CG memory access mismatchesRyan Sepassi4+322-50
2026-05-18 17:05Complete wasm feature gates and tail callsRyan Sepassi12+1567-52
2026-05-18 14:38Add staged wasm proposal frontend supportRyan Sepassi14+979-303
2026-05-18 08:00Polish WASM trap loweringRyan Sepassi10+337-40
2026-05-18 07:02Implement Wasm runtime instance slotsRyan Sepassi7+2695-2524
2026-05-18 06:43wasm: add instance runtime runner pathRyan Sepassi7+859-364
2026-05-18 05:17wasm: run executable path for macho testsRyan Sepassi1+41-26
2026-05-18 05:08wasm: lower globals tables memory growth and localsRyan Sepassi15+582-40
2026-05-18 04:42Complete Wasm frontend reader validationRyan Sepassi14+1669-219
2026-05-18 04:19Complete wasm frontend native loweringRyan Sepassi24+2634-101
2026-05-18 03:38Add initial wasm frontendRyan Sepassi27+2411-10
2026-05-18 01:02docs: plan wasm frontend and backendRyan Sepassi1+794-0
2026-05-18 00:05Complete O1 codegen cleanupRyan Sepassi16+502-331
2026-05-17 23:11OP1.md doc refresh + perf refreshRyan Sepassi2+554-1006
2026-05-17 22:47toy: add fat slicesRyan Sepassi13+406-8
2026-05-16 22:44Rewrite toy frontend toward specRyan Sepassi437+11153-3174
2026-05-16 16:53Fix inline asm memory operand addressesRyan Sepassi1+26-23
2026-05-16 16:45Add Toy function pointer callsRyan Sepassi4+216-80
2026-05-16 16:36Run toy tests at O0 and O1Ryan Sepassi1+42-38
2026-05-16 16:33Move O1 tail calls onto planned replayRyan Sepassi22+192-79
2026-05-16 07:59Expand opt call-plan ABI register coverageRyan Sepassi3+516-35
2026-05-16 07:39Make call setup visible to optRyan Sepassi11+608-82
2026-05-16 02:04Implement guarded Phase 5 register exposureRyan Sepassi7+286-38
2026-05-16 01:03Implement planned call replay for O1Ryan Sepassi13+711-89
2026-05-16 00:35Implement O1 call clobber register metadataRyan Sepassi10+1055-53
2026-05-16 00:15docs: plan richer opt register constraintsRyan Sepassi2+429-1
2026-05-15 23:51opt: reserve only replayed hard regsRyan Sepassi3+117-31
2026-05-15 23:40Allow O1 params to bind to registersRyan Sepassi15+407-80
2026-05-15 22:49Tighten O1 post-rewrite cleanupRyan Sepassi3+270-16
2026-05-15 22:12Add O1 local jump cleanupRyan Sepassi6+399-35
2026-05-15 21:51Fix AArch64 large frame offset emissionRyan Sepassi5+183-53
2026-05-15 21:38Complete O1 constfold cleanupRyan Sepassi5+485-244
2026-05-15 21:12Implement constfold delayed arithmetic and local shadowsRyan Sepassi3+1122-31
2026-05-15 20:42Add vstack immediate constant foldingRyan Sepassi4+913-37
2026-05-15 20:04opt: keep scalar locals in virtual registersRyan Sepassi15+941-78
2026-05-15 18:07cg: replace public frame slots with local handlesRyan Sepassi10+294-133
2026-05-15 17:24docs: describe LocalId storage policyRyan Sepassi1+127-0
2026-05-15 14:49cg: defer integer compares for branch fusionRyan Sepassi1+210-116
2026-05-15 14:40Emit exact O1 prologues for known framesRyan Sepassi12+1072-441
2026-05-15 13:45Size opt prologue placeholders from planned regsRyan Sepassi12+270-57
2026-05-15 07:41Optimize O1 allocator occupancyRyan Sepassi3+203-127
2026-05-15 07:33Complete O1 performance cleanupRyan Sepassi4+208-71
2026-05-15 04:32Track O1 MIR-shape metricsRyan Sepassi8+547-111
2026-05-15 03:27Improve dbg JIT expression REPLRyan Sepassi17+5245-3547
2026-05-15 03:16Improve O1 wide-function allocation perfRyan Sepassi10+772-496
2026-05-15 02:42Implement range rewrite without live_afterRyan Sepassi5+339-96
2026-05-15 02:32Add append-only JIT snippets to dbgRyan Sepassi6+1012-6
2026-05-15 02:25Implement range-based O1 assignmentRyan Sepassi7+511-190
2026-05-15 02:11opt: add MIR-style live range modelRyan Sepassi6+467-21
2026-05-15 02:03docs: design incremental jit linkingRyan Sepassi3+863-0
2026-05-15 02:02opt: add pass-local block livenessRyan Sepassi7+717-210
2026-05-15 01:42RA phase 0 metrics and guardrailsRyan Sepassi4+231-20
2026-05-15 01:34RA planRyan Sepassi1+740-0
2026-05-15 00:53Document run JIT perf and compile metricsRyan Sepassi5+351-1
2026-05-15 00:45Avoid duplicate segment copies in JITRyan Sepassi2+53-5
2026-05-15 00:34Add scoped timing metrics for run JIT pathRyan Sepassi10+245-1
2026-05-15 00:33link: make section grouping linearRyan Sepassi1+66-22
2026-05-14 23:55Test O1 on x64 and rv64Ryan Sepassi13+318-22
2026-05-14 21:47Rewrite design documentRyan Sepassi1+222-901
2026-05-14 21:35opt: model asm and call hard-reg effectsRyan Sepassi3+374-10
2026-05-14 21:15opt: fold safe single-use post-RA operandsRyan Sepassi3+568-5
2026-05-14 20:14Tighten O1 combine and DCERyan Sepassi3+494-12
2026-05-14 20:13Consolidate arch files into subdirsRyan Sepassi59+6196-6216
2026-05-14 20:03Route arch helpers through descriptorsRyan Sepassi9+172-106
2026-05-14 19:55Move linker arch cases behind descriptorRyan Sepassi10+252-383
2026-05-14 19:52Track exact simple regalloc usageRyan Sepassi5+56-17
2026-05-14 19:47Remove backend allocator pool stateRyan Sepassi13+135-149
2026-05-14 19:36Route object relocation formats through arch descriptorsRyan Sepassi10+123-72
2026-05-14 19:26Route ABI selection through arch descriptorsRyan Sepassi6+43-27
2026-05-14 19:26Improve O1 live info for regallocRyan Sepassi4+336-26
2026-05-14 19:20Add internal arch registration descriptorRyan Sepassi10+156-78
2026-05-14 19:13opt: add natural loop tree for O1Ryan Sepassi4+322-10
2026-05-14 19:06Move CG register allocation out of CGTargetRyan Sepassi18+229-178
2026-05-14 18:40Factor simple backend register allocatorRyan Sepassi13+359-270
2026-05-14 18:14opt: prune unreachable blocks in CFGRyan Sepassi2+175-0
2026-05-14 17:50Wire opt level into CG target creationRyan Sepassi5+35-5
2026-05-14 17:49Expose frontend support API for CRyan Sepassi38+1709-1533
2026-05-14 17:25Refactor DWARF reader into debug moduleRyan Sepassi23+4156-4262
2026-05-14 17:15Remove src include path from C frontend buildRyan Sepassi7+4-283
2026-05-14 17:04Move assembler parsing under src/asmRyan Sepassi20+1983-1230
2026-05-14 16:52Remove C Type dependencies from srcRyan Sepassi69+1189-1878
2026-05-14 16:11Remove legacy cg implementationRyan Sepassi51+665-12937
2026-05-14 14:28Add CG type registryRyan Sepassi4+995-109
2026-05-14 12:39Port C frontend to public CG APIRyan Sepassi53+6916-5634
2026-05-14 03:24Add neutral CG backend migration planRyan Sepassi1+286-0
2026-05-14 03:24TOY.md specRyan Sepassi2+839-623
2026-05-13 22:08Expand toy CG API coverageRyan Sepassi7+638-60
2026-05-13 19:15Update impl + toy to new CG apiRyan Sepassi4+1096-574
2026-05-13 18:59CG api updatesRyan Sepassi2+724-206
2026-05-13 17:59cg-ext.md planRyan Sepassi1+551-0
2026-05-13 17:21Update cg impl + toy to the new cg apiRyan Sepassi7+600-221
2026-05-13 17:04Redesign public CG APIRyan Sepassi1+302-173
2026-05-13 16:11toy-todo.md planRyan Sepassi1+623-0
2026-05-13 14:44Validate AArch64 SP and ZR asm operandsRyan Sepassi2+73-0
2026-05-13 14:41Complete Cg inline asm API coverageRyan Sepassi6+264-24
2026-05-13 14:25Expand toy CG API coverageRyan Sepassi8+328-35
2026-05-13 11:33Implement planned CG API updatesRyan Sepassi7+724-418
2026-05-13 11:08docs: clarify CG API status and planRyan Sepassi1+256-162
2026-05-13 10:03Complete public CG API wrappersRyan Sepassi12+987-52
2026-05-13 05:33Expand CG API status TODOsRyan Sepassi1+27-3
2026-05-13 05:29Complete public CG API toy coverageRyan Sepassi35+1351-115
2026-05-13 03:58Implement CfreeCg public codegen API driving CGTarget directlyRyan Sepassi2+1412-5
2026-05-13 02:00toy: use structured scopes, unop, fix call stack order and store dropsRyan Sepassi1+880-58
2026-05-13 02:00cg api: add unop, va_list, extended intrinsics, structured scope results, push_int uint64_t, remove is_unionRyan Sepassi4+230-22
2026-05-13 00:12cg type allocatorRyan Sepassi7+584-2
2026-05-12 23:44cfree/cg.h and lang/toyRyan Sepassi12+818-29
2026-05-12 22:10Refactor setjmp longjmp as intrinsicsRyan Sepassi15+66-125
2026-05-12 21:54LANGS.md planRyan Sepassi1+456-0
2026-05-12 21:54opt: generic register coordination via CGTarget hooksRyan Sepassi17+853-192
2026-05-12 14:25Implement OPT1 lowering and allocationRyan Sepassi7+1350-31
2026-05-12 05:28TAILCALL.md planRyan Sepassi1+234-0
2026-05-12 01:36PROF.md planRyan Sepassi1+392-0
2026-05-12 01:24OPT.md plan updateRyan Sepassi1+601-420
2026-05-12 01:16extract sha256 (codesign)Ryan Sepassi3+133-113
2026-05-12 00:44jit/macho: cfree-owned TLV thunk so _Thread_local works under cfree runRyan Sepassi16+626-79
2026-05-12 00:18Preprocess .S inputs in assembler driverRyan Sepassi1+55-8
2026-05-12 00:17Move runtime make rules into rt makefileRyan Sepassi2+243-275
2026-05-12 00:02Parallelize parse cg and elf test harnessesRyan Sepassi4+760-305
2026-05-11 23:55asm: support file-scope global asmRyan Sepassi9+158-22
2026-05-11 23:51stage2: R1–R7 rt-ingest fixes (5/8 rt sources compile under cfree)Ryan Sepassi26+397-93
2026-05-11 23:10link/macho: coalesce same-named sections into one section_64 per (segname,sectname)Ryan Sepassi2+165-52
2026-05-11 22:56obj: emit Mach-O TLV descriptors so cfree-compiled _Thread_local worksRyan Sepassi7+359-180
2026-05-11 22:15refactor: split six >2KLOC files into focused modulesRyan Sepassi29+18546-20038
2026-05-11 21:42parse: accept _Thread_local; route TLS objects through tls_addr_ofRyan Sepassi6+73-1
2026-05-11 21:23link/macho: set MH_HAS_TLV_DESCRIPTORS so dyld registers TLV pthread keysRyan Sepassi4+59-53
2026-05-11 21:17dbg: copy CfreeDbgSignalOps in signals_install, not the caller pointerRyan Sepassi1+11-7
2026-05-11 20:52stage2: standalone link probe + STAGE2/MACHO notesRyan Sepassi4+156-133
2026-05-11 20:50obj: coalesce same-named sections; add obj_align_to for intra-section paddingRyan Sepassi7+93-28
2026-05-11 20:49link/macho: TLV section + ARM64_RELOC_TLVP_LOAD_PAGE21/PAGEOFF12Ryan Sepassi8+388-18
2026-05-11 20:07dbg: multi-input cfree_jit_view + DWARF suffix-match / degradationRyan Sepassi8+713-141
2026-05-11 19:49test/cg q05: accumulate into r_int to fit x64 INT poolRyan Sepassi1+10-5
2026-05-11 19:42cg: imm-form encodings for x64 and rv64 binop/unopRyan Sepassi2+228-16
2026-05-11 19:29cg: pre-SSA peephole — constant fold + aarch64 imm-form encodingsRyan Sepassi6+569-24
2026-05-11 19:17STAGE2.md plan updateRyan Sepassi1+163-85
2026-05-11 18:49cg fix INDIRECT reg leakRyan Sepassi1+5-2
2026-05-11 18:46jit: close out reloc-apply gaps from doc/JIT.mdRyan Sepassi7+479-129
2026-05-11 18:44driver: share .c/.o/.a/stdin input handling between run and dbgRyan Sepassi5+402-252
2026-05-11 18:41parse: fix sizeof/alignof expr forms + block-scope static[] inferenceRyan Sepassi7+88-13
2026-05-11 18:30test/parse/run.sh fixup -I for cfree-roundtrip.cRyan Sepassi1+1-1
2026-05-11 18:29asm/inline: complete end-to-end TODOs from doc/ASM.md §6Ryan Sepassi10+375-57
2026-05-11 18:27cg/arch: handle OPK_INDIRECT in call-arg + return pathsRyan Sepassi18+476-72
2026-05-11 18:25parse: land STAGE2 B1-B6 — alignof alias, ctz, addr-const + array-init gapsRyan Sepassi25+253-48
2026-05-11 18:03run: fix cfree run JIT runner — pipeline lifetime, dlsym mangling, synthetic argv[0]Ryan Sepassi3+174-21
2026-05-11 17:59pp: search includer's directory first for quoted #includeRyan Sepassi1+68-9
2026-05-11 17:53api: implement cfree_dep_iter_new/_next over SourceManagerRyan Sepassi3+64-17
2026-05-11 17:45dbg: implement cfree_jit_view + image/runtime PC translationRyan Sepassi8+464-14
2026-05-11 17:38ASM.md plan updateRyan Sepassi2+215-955
2026-05-11 16:58asm/inline: integration — wire AsmConstraint.type through binder + walkerRyan Sepassi7+111-32
2026-05-11 16:42asm/inline: track C — aa64 backend (template walker + aa_asm_block)Ryan Sepassi7+617-12
2026-05-11 16:38asm/inline: track B — cg_inline_asm binder + opt recorder/replayRyan Sepassi5+840-23
2026-05-11 16:47asm/inline: track A — frontend parser for asm() statementsRyan Sepassi4+346-0
2026-05-11 17:20STAGE2.md planRyan Sepassi1+154-0
2026-05-11 17:19dbg: JIT debugger — session, displaced single-step, REPL wire-upRyan Sepassi15+2528-116
2026-05-11 16:59attr: phase-2 PR-Z — parser wire-up + weak-undef JITRyan Sepassi4+234-721
2026-05-11 16:19attr: phase-2 W1–W4 — honor packed/aligned/section/used/weak/visibility/alias/noreturnRyan Sepassi5+214-27
2026-05-11 16:16INLINEASM.md planRyan Sepassi2+333-11
2026-05-11 16:05attr: phase-2 PR-0 — interface seed, plan doc, drafted testsRyan Sepassi29+718-65
2026-05-11 15:54asm: phase-3 + phase-4a — standalone .s assembler + disassembler overlayRyan Sepassi20+2703-156
2026-05-11 15:41parse: __attribute__((...)) parsing — Phase 1 carriers, no codegenRyan Sepassi23+977-29
2026-05-11 15:31test/parse: sizeof / nonzero subscript on direct string literalRyan Sepassi4+17-0
2026-05-11 15:25asm: phase-2 ISA descriptor table — AsmFlags, aliases, format backfillRyan Sepassi8+1144-105
2026-05-11 15:10parse: fuse adjacent string literals at the pp-pull boundaryRyan Sepassi5+133-4
2026-05-11 14:56asm: phase-1 test harness scaffolding (test/asm + cg path S)Ryan Sepassi17+1507-30
2026-05-11 14:54parse: aggregate-by-value params and returns — 2-reg DIRECT and INDIRECT copyRyan Sepassi21+226-19
2026-05-11 14:34link: LinkArchDesc vtable + obj-format C-name policy + ISA encoder liftsRyan Sepassi23+996-213
2026-05-11 12:37libc: rv64/x64 GOT codegen + PIE link plumbing — full 10-cell test-libc greenRyan Sepassi14+475-23
2026-05-11 03:15libc: Linux hosted shim + test-libc 9-cell matrix (musl/glibc × x64/aa64/rv64)Ryan Sepassi11+790-140
2026-05-11 02:41arch/aa64: GOT addressing for extern data on Mach-O; build hosted shim with cfreeRyan Sepassi6+141-29
2026-05-11 01:56parse: route &&/|| result through a temp slot so if-cond sees merged valueRyan Sepassi2+62-13
2026-05-11 01:37libc: platform-agnostic headers + macOS hosted shim + test-libc harnessRyan Sepassi34+1201-7
2026-05-10 23:07link/macho: test-link Path E green on aa64-macho — 103/103Ryan Sepassi3+177-21
2026-05-10 23:06x64 codegen completeRyan Sepassi3+1007-306
2026-05-10 22:30link/macho: test-link Path E on aa64-macho — 101/103 passingRyan Sepassi13+476-111
2026-05-10 22:13arch/x64: codegen for Linux ELF — A–D spine + most of E–H, P, QRyan Sepassi4+2172-254
2026-05-10 21:58doc: rm 7 stale design docs + strip stale referencesRyan Sepassi26+28-2298
2026-05-10 21:51parse: clear all 20 §6.2–§6.9 status-list failuresRyan Sepassi2+593-617
2026-05-10 21:47link/x64: test-link green — PLT32, 32S, TLS LE, ifunc stubRyan Sepassi4+61-6
2026-05-10 21:32link/macho: dyld-loadable MH_EXECUTE writer + .tbd / dylib DSO inputsRyan Sepassi12+2784-35
2026-05-10 21:04build/driver: make self target + filename in diagnosticsRyan Sepassi12+202-42
2026-05-10 20:57test/parse: §6.2–§6.9 corpus expansion — 80 new rows + status sweepRyan Sepassi164+494-11
2026-05-10 20:38arch/cg: thread RegClass through free_regRyan Sepassi6+48-34
2026-05-10 20:29link/rv64: TLS LE — clamp SF_TLS PT_LOAD memsz to fileszRyan Sepassi3+29-25
2026-05-10 20:23link/test: Mach-O read + JIT — test-link path R+J green on aa64-machoRyan Sepassi12+203-24
2026-05-10 20:19arch/rv64: variadic save area atop frame, contiguous with stack argsRyan Sepassi2+46-61
2026-05-10 20:12cg/parse: C atomics — full aarch64 lowering + CAS/fence parser surfaceRyan Sepassi30+357-28
2026-05-10 20:09arch/abi/cg: rv64 — real LP64D codegen mirroring aa64Ryan Sepassi9+2969-248
2026-05-10 19:59obj/test: macho roundtrip — fix read/emit fidelity, wire test-link path RRyan Sepassi11+420-31
2026-05-10 19:58parse/cg: variadic lowering + FP arithmetic dispatchRyan Sepassi31+389-41
2026-05-10 19:16link: rv64 — reloc applies, ifunc stub, kernel_image case + per-arch harnessRyan Sepassi9+491-51
2026-05-10 19:09parse: array-size cexpr, sizeof unary, bitfield as storage unitRyan Sepassi1+22-21
2026-05-10 19:07obj/abi: MULTIOBJ Phase 2 — Mach-O writer/reader (MH_OBJECT, arm64)Ryan Sepassi16+1711-187
2026-05-10 18:53parse: Phase 9 — __builtin_* / __atomic_* routingRyan Sepassi14+375-21
2026-05-10 18:46ASM.md planRyan Sepassi1+487-0
2026-05-10 18:44obj/abi/link: MULTIOBJ Phase 1 — Mach-O seams + planRyan Sepassi14+1190-80
2026-05-10 18:37parse: Phase 8 — qualifiers, alignment, typedefsRyan Sepassi4+316-41
2026-05-10 18:31obj: ELF x64 — TLS and GOT-relax reloc coverageRyan Sepassi4+96-0
2026-05-10 18:28obj: ELF rv64 — full reloc coverage, e_flags round-tripRyan Sepassi9+278-3
2026-05-10 18:22parse: Phase 7 — type breadth, conversions, suffix-typed literalsRyan Sepassi6+281-31
2026-05-10 18:20test: parameterize harnesses by CFREE_TEST_ARCHRyan Sepassi20+308-107
2026-05-10 17:55arch/abi/obj: MULTIARCH Phase 2 — rv64 stubsRyan Sepassi13+730-5
2026-05-10 17:52parse: Phase 6 — initializers (designators, string init, compound literals)Ryan Sepassi3+538-53
2026-05-10 17:46test: fix path-E exec on Darwin and trim default opt-levelsRyan Sepassi2+26-14
2026-05-10 17:41arch/abi/obj: MULTIARCH Phase 2 — multi-arch seams + x64 stubsRyan Sepassi21+964-214
2026-05-10 17:35parse: Phase 5 — switch, goto, do-while, labelsRyan Sepassi3+305-15
2026-05-10 17:34test: MULTIARCH Phase 1 — per-arch exec helper, x64 smokeRyan Sepassi9+737-155
2026-05-10 17:24opt: Phase 3 — IR-native recording, SSA construction, dry-runRyan Sepassi7+1966-1716
2026-05-10 16:10parse: Phase 4 — globals, storage classes, linkage, static localsRyan Sepassi3+378-24
2026-05-10 15:53parse: Phase 3 — struct/union/enum, member access, _GenericRyan Sepassi5+921-37
2026-05-10 14:20cg: CG-driven spill/reload on a finite physical-register poolRyan Sepassi7+1048-328
2026-05-10 13:14test: print pass/fail summary as the last line in every run scriptRyan Sepassi12+54-43
2026-05-10 13:03parse: Phase 2 — pointer/array decls, decay, subscript, brace init, VLARyan Sepassi4+599-80
2026-05-10 12:26parse: Phase 1 — calls, params, multi-fn TUs, &&/||/?:, sizeof/castRyan Sepassi5+1293-212
2026-05-10 12:23opt: record-replay wrapper + tape printer + constfold (phases 0-2)Ryan Sepassi5+2164-158
2026-05-10 04:46test/parse: extend corpus to §6.2–§6.9 + builtins, clang-verifiedRyan Sepassi176+781-0
2026-05-10 03:42test/parse: author corpus cases for §6.5–§6.9Ryan Sepassi109+216-0
2026-05-10 01:37parse/cg/decl: scaffold C front-end vertical, pass spine corpusRyan Sepassi6+2346-28
2026-05-10 01:01link: place .dynamic in a PF_R+W segment for glibc compatibilityRyan Sepassi3+66-37
2026-05-10 01:00link: linker script support (kernel.lds subset) + case 35Ryan Sepassi17+1600-50
2026-05-10 00:43test: batch path-E podman runs and cache start.oRyan Sepassi4+469-160
2026-05-10 00:42test/libc: split harness into shared cases + musl/glibc runnersRyan Sepassi21+746-355
2026-05-10 00:22dwarf: producer + consumer + path-W harness (phases 0-3)Ryan Sepassi34+8493-199
2026-05-10 00:20link: dynamic linking phase 5 (PLT body + import-reloc rewriting)Ryan Sepassi5+486-797
2026-05-10 00:09OPT.md planRyan Sepassi1+437-0
2026-05-09 23:59test/parse: scaffold file-driven C parser harnessRyan Sepassi18+1088-2
2026-05-09 23:47link: dynamic linking phases 4+6 (synthetic dyn-tables, ET_DYN emit)Ryan Sepassi8+1499-98
2026-05-09 23:23DWARF planRyan Sepassi1+689-0
2026-05-09 23:22link: dynamic linking phases 1-3 (DSO read, driver, resolve)Ryan Sepassi15+914-183
2026-05-09 23:15test/cg: scaffold Group P (set_loc/debug) + W pathRyan Sepassi7+455-7
2026-05-09 23:03make formatRyan Sepassi186+32505-30653
2026-05-09 22:58musl dynamic link testRyan Sepassi3+595-44
2026-05-09 22:58link: STT_GNU_IFUNC in static ET_EXEC via libcfree_rt preinitRyan Sepassi10+272-116
2026-05-09 22:56cg/aa64: implement Groups J, K, L (varargs, atomics, intrinsics)Ryan Sepassi2+751-33
2026-05-09 22:46core: introduce SegVec; migrate typed object/image/linker tablesRyan Sepassi11+878-501
2026-05-09 22:36cg/aa64: implement Groups N, O, Q (TLS, globals, multi-function)Ryan Sepassi2+172-8
2026-05-09 22:21test/cg: register Groups N, O, Q (TLS, globals, multi-function)Ryan Sepassi6+1316-3
2026-05-09 22:17cg/aa64: implement Groups G, H, I (calls, control flow, alloca)Ryan Sepassi1+279-49
2026-05-09 22:15test/cg: register Groups J, K, L (varargs, atomics, intrinsics)Ryan Sepassi6+1392-3
2026-05-09 22:14core: extract bytes/util/vec/hashmap and zalloc/buf-walk helpersRyan Sepassi22+507-610
2026-05-09 22:01test/cg: split cases.c into per-group filesRyan Sepassi14+3535-3336
2026-05-09 21:49test/cg: register Groups G, H, I (calls, control flow, alloca)Ryan Sepassi4+2005-17
2026-05-09 21:47link: TLS local-exec, IFUNC, and exe symtab / build-id / .eh_frameRyan Sepassi14+1435-166
2026-05-09 21:36cg/aa64: implement Groups D, E, F (control flow, conv, memory)Ryan Sepassi2+454-18
2026-05-09 21:23test/cg: register Groups D, E, F (compare/branch, conv, memory)Ryan Sepassi2+963-3
2026-05-09 21:07cg/aa64: bring up frames, params, calls, FP — pass Groups A/B/CRyan Sepassi2+985-132
2026-05-09 21:06link: static musl on aarch64 — link, run, helloRyan Sepassi18+624-150
2026-05-09 20:36arch/aa64: factor encodings into shared ISA descriptorsRyan Sepassi3+476-85
2026-05-09 20:13link: implement --gc-sections (entry/init-fini/RETAIN/start-stop roots)Ryan Sepassi40+678-78
2026-05-09 20:10cg: bring up type/abi spine and pass Group A on AArch64Ryan Sepassi7+783-17
2026-05-09 19:49test/cg: expand A/B/C corpus; harness now drives real type+abi APIsRyan Sepassi5+1262-287
2026-05-09 19:43link: archive ingestion, static GOT, and ar BSD long-name fixRyan Sepassi8+646-106
2026-05-09 19:24obj: preserve format-specific sh_type/sh_flags across roundtripRyan Sepassi5+64-14
2026-05-09 19:24test/elf: expand corpus across reloc, section, symbol, and bad/ axesRyan Sepassi46+478-0
2026-05-09 19:22cg: add cg_tail_call and CG_CALL_TAIL flag on CGCallDescRyan Sepassi2+20-0
2026-05-09 19:18test-link: add filters, per-path timing; fix slow podman exec pathRyan Sepassi1+48-17
2026-05-09 19:09test-link: move negative tests to bad/ dir; drop link_fail markerRyan Sepassi6+130-50
2026-05-09 19:07elf: aarch64 TLSLE reloc roundtrip supportRyan Sepassi4+59-0
2026-05-09 19:04test-elf: scope to ELF fidelity only; fix test-link R-path no-opRyan Sepassi20+113-660
2026-05-09 18:56elf: fix 09_ifunc, 13_comdat, mark 06_tls xfailRyan Sepassi7+108-4
2026-05-09 18:43execmem: dual-mapping JIT regions for strict W^XRyan Sepassi6+525-95
2026-05-09 18:17test-ar-driverRyan Sepassi9+205-2
2026-05-09 18:14ar verbose supportRyan Sepassi2+91-32
2026-05-09 18:08driver --helpRyan Sepassi9+644-51
2026-05-09 18:01lib: route exec memory and current-time through host CfreeEnv vtablesRyan Sepassi11+362-81
2026-05-09 17:53emu: implement cfree_emu_run/new/step/lookup/free with stubbed depsRyan Sepassi12+1462-15
2026-05-09 17:46link: advance JIT/exec linker; fix build staleness masking test resultsRyan Sepassi15+531-67
2026-05-09 17:35emu: scaffold cfree emu driver and stubbed public APIRyan Sepassi5+362-1
2026-05-09 16:58test/cg: scaffold codegen test harness and minimal AArch64 backendRyan Sepassi13+2107-9
2026-05-09 16:02test/link: add unified linker and JIT behavioral test corpusRyan Sepassi60+1123-4
2026-05-09 15:32pp: implement C11 preprocessor (translation phase 4)Ryan Sepassi5+2894-23
2026-05-09 14:01test/pp: rewrite corpus as layered, clang-validated suiteRyan Sepassi206+733-41
2026-05-09 12:00test/elf: extend corpus with symbol, section, and behavioral casesRyan Sepassi29+624-36
2026-05-09 11:30lex: implement line splicing and header-name lexingRyan Sepassi4+142-20
2026-05-09 11:15driver: update ar, cc, ld subcommands and MakefileRyan Sepassi4+212-11
2026-05-09 11:15api: add ar, detect, lifecycle, stubs, writer_mem; update pipelineRyan Sepassi7+1941-345
2026-05-09 11:15link: add linker with ELF, JIT, layout, and reloc supportRyan Sepassi6+1792-0
2026-05-09 11:15obj: add ELF read/emit and object file support with ELF testsRyan Sepassi23+3026-0
2026-05-09 11:15lex: add lexer implementation and lex/pp testsRyan Sepassi52+1812-0
2026-05-09 11:15core: add arena, buf, diag, pool, source implementationsRyan Sepassi8+827-8
2026-05-09 00:24C11 std docsRyan Sepassi4+12375-0
2026-05-09 00:23DESIGN.md updateRyan Sepassi1+27-9
2026-05-09 00:19src: pipeline and link updatesRyan Sepassi2+314-386
2026-05-09 00:19driver: subcommand updatesRyan Sepassi9+1528-291
2026-05-09 00:19include: API updatesRyan Sepassi1+393-144
2026-05-08 23:59driver: cflags/lib_resolve/target split, dbg subcommand, expanded ld/cc/objdumpRyan Sepassi14+3966-446
2026-05-08 23:59src: JIT session, debug info, target pic/code-model plumbingRyan Sepassi10+716-99
2026-05-08 23:59include/cfree.h: JIT sessions, debug info, target pic/code-modelRyan Sepassi1+637-17
2026-05-08 13:03cfree_obj_open/query, cfree_ar_iter, cfree_detect_fmt; driver objdump + arRyan Sepassi15+1272-43
2026-05-08 05:50driver wired to cfree_run; libc isolated to env.cRyan Sepassi9+803-81
2026-05-08 04:37include/cfree.h public API + driver/ splitRyan Sepassi23+1392-795
2026-05-08 01:34rt/MakefileRyan Sepassi8+214-225
2026-05-08 00:52driver/pipeline.h,cRyan Sepassi19+945-101
2026-05-08 00:39Create rt/ dirRyan Sepassi61+0-0
2026-05-07 21:52DESIGN.md and interfacesRyan Sepassi34+3106-157
2026-05-07 21:10stdcoro asymmetric coro_tRyan Sepassi14+403-160
2026-05-07 20:47setjmp.h stdcoro.hRyan Sepassi14+1548-40
2026-05-07 20:14setjmp.hRyan Sepassi3+40-0
2026-05-07 18:32lib/ consolidation into fewer files and exhaustive build.sh via clangRyan Sepassi151+4042-5163
2026-05-07 18:15make compiler-rt templates re-includable; add build.shRyan Sepassi59+1205-138
2026-05-07 17:29READMERyan Sepassi1+25-0
2026-05-07 17:27compiler_rtRyan Sepassi155+7597-0
2026-05-07 16:22assert.h, stdatomic.hRyan Sepassi5+387-100
2026-05-07 16:05cfree assumptionsRyan Sepassi5+227-242
2026-05-07 15:49cfree freestanding headersRyan Sepassi11+596-0
2026-06-06 12:17docs: plan llgen importRyan Sepassi2+390-0
2026-06-06 11:53Fix nested panic recoveryRyan Sepassi12+178-78
2026-06-06 11:41Fix -no-pie overriding explicit PIERyan Sepassi6+49-11
2026-06-06 11:33Keep volatile locals memory residentRyan Sepassi4+12-31
2026-06-06 11:15Fix hard-pinned native inline asm stagingRyan Sepassi7+248-65
2026-06-06 10:52Fix C inline asm output type stackRyan Sepassi2+3-22
2026-06-06 10:34Support arch inline asm machine constraintsRyan Sepassi21+692-210
2026-06-06 05:20Implement raw syscall intrinsic loweringRyan Sepassi26+192-66
2026-06-06 04:34Fix O1 label-address block livenessRyan Sepassi5+104-47
2026-06-06 04:12Fix tail sret forwardingRyan Sepassi5+78-13
2026-06-06 04:01Teach ld -lc to use hosted libcRyan Sepassi6+423-101
2026-06-06 04:00Fix aarch64 COFF weak-null ADRP relocationRyan Sepassi5+52-18
2026-06-06 02:39Add freestanding runtime ctypeRyan Sepassi6+182-10
2026-06-06 02:26Fix rv64 toy TLS cross startupRyan Sepassi2+27-8
2026-06-06 02:04Partition the relocation byte-patcher per-arch (RELOC WS-C)Ryan Sepassi15+809-437
2026-06-05 23:31Implement per-arch RelocDesc table + residual gates (RELOC WS-B, WS-E.2/E.3)Ryan Sepassi24+805-337
2026-06-05 23:30Defer O1 local static data symbolsRyan Sepassi8+196-42
2026-06-05 22:10Add stack backtrace sources to driver rt manifestRyan Sepassi1+8-3
2026-06-05 22:03doc/plan: rescope RELOC.md after the modularity waves landedRyan Sepassi2+231-260
2026-06-05 21:45Implement tool-side auto-backtrace for run & dbg (BACKTRACE L3c/WS5)Ryan Sepassi14+573-25
2026-06-05 16:49Implement kit symbolize (BACKTRACE L3a/WS5)Ryan Sepassi12+466-83
2026-06-05 16:26Implement __kit_print_backtrace & assert hook (BACKTRACE L3a/WS4)Ryan Sepassi12+682-40
2026-06-05 15:38Implement stack-trace builtins & __kit_backtrace (BACKTRACE L1+L2)Ryan Sepassi41+708-61
2026-06-05 21:47modularity: gate COFF weak-extern underscore alias on a vtable capability + fix stale objdump goldenRyan Sepassi6+19-2
2026-06-05 18:51modularity wave 4: compiler-free language resolution + obj-owned fmt names + jit TLS hookRyan Sepassi12+286-154
2026-06-05 18:13modularity wave 3: route frontend/driver/backend consumers through hooksRyan Sepassi17+516-318
2026-06-05 17:51modularity wave 2: route obj/link/cg/api/asm/dwarf through capability hooksRyan Sepassi18+348-292
2026-06-05 17:29modularity wave 1: add pluggable-axis capability hooks (additive infra)Ryan Sepassi25+1305-30
2026-06-05 17:06modularity #9: move wasm_imports to src/obj, drop cg cross-boundary leakRyan Sepassi6+131-133
2026-06-05 16:35Generalize VM execution into the shared exec seam + a hosted test suiteRyan Sepassi14+904-322
2026-06-05 14:54test-toy: run the Toy corpus hosted in the FreeBSD/Windows VMsRyan Sepassi6+540-4
2026-06-05 13:40doc/plan: add stack-trace builtins & runtime backtrace roadmapRyan Sepassi2+229-0
2026-06-04 21:01Implement whole-program optimization (LTO Phase 0 + Phase 1)Ryan Sepassi61+3663-583
2026-06-05 04:51Fix Windows x64/arm64 variadic ABI at O0 and O1Ryan Sepassi17+732-58
2026-06-05 02:00Fix Windows PE x64 startup and callback ABIRyan Sepassi13+307-120
2026-06-05 00:12Add release runtime variantsRyan Sepassi6+142-72
2026-06-04 23:41coff: emit PE exception directory metadataRyan Sepassi1+24-5
2026-06-04 23:41windows: add ARM64 VM runner for COFF smoke testsRyan Sepassi5+1253-102
2026-06-04 23:40test: add FreeBSD hosted link VM smokeRyan Sepassi5+387-4
2026-06-04 23:39link: emit FreeBSD PIE metadata for rtldRyan Sepassi2+106-37
2026-06-04 23:39link: fix FreeBSD hosted static executablesRyan Sepassi4+277-98
2026-06-04 23:37elf: add hosted FreeBSD relocation primitivesRyan Sepassi8+102-24
2026-06-04 20:57freebsd: VM execution harness for amd64/aarch64/rv64Ryan Sepassi2+855-0
2026-06-04 20:57freebsd: cross-compile target, runtime, and link supportRyan Sepassi5+69-0
2026-06-04 18:36windows: provision llvm-mingw UCRT sysroots for kit-only cross-compileRyan Sepassi10+677-17
2026-06-04 17:49test: add freestanding qemu-system smokeRyan Sepassi5+485-30
2026-06-04 17:45aa64: support bitfield extension aliasesRyan Sepassi10+189-12
2026-06-04 16:59Add initial release punchlistRyan Sepassi2+271-0
2026-06-04 15:43Drain driver TODO backlogRyan Sepassi10+607-719
2026-06-04 15:18driver: add build-exe/build-lib/build-obj, retire compileRyan Sepassi17+2917-738
2026-06-04 13:56doc/plan: add LTO / whole-program optimization planRyan Sepassi1+369-0
2026-06-04 13:49doc/plan: design for build-exe/build-lib/build-obj (replacing compile)Ryan Sepassi2+293-0
2026-06-04 09:24wasm: tighten shared-memory max to min pages so atomics modules loadRyan Sepassi1+8-8
2026-06-04 08:58cg/asm: reject 64-bit values in register asm constraints on 32-bit targetsRyan Sepassi11+58-19
2026-06-04 08:39rv32 parse: resolve LP64-assumption corpus failuresRyan Sepassi4+27-9
2026-06-04 05:15test/rv32: drop clang gate from bare-metal toy/parse lanesRyan Sepassi3+8-4
2026-06-04 05:01rv32 lowering fixesRyan Sepassi3+107-22
2026-06-04 05:01toy: pointer-width isize/usize, int wideningRyan Sepassi20+415-147
2026-06-04 04:27Test ABI split-lane scalar queryRyan Sepassi1+64-3
2026-06-04 04:22rv32: use ABI split-lane scalar metadataRyan Sepassi19+238-119
2026-06-04 03:55Fix rv32 toy target arch and wide intrinsicsRyan Sepassi5+17-2
2026-06-04 03:37rv32: fix 8-byte variadic high-word drop, O1 label-addr width, long double, atomicsRyan Sepassi18+137-25
2026-06-04 02:37rv32: close most remaining cross-target reds (atomics, overflow, soft-fp, TLS, __int128, CSR, asm goldens)Ryan Sepassi85+1157-40
2026-06-04 00:25rv32: auto-build and auto-link the freestanding runtime like any targetRyan Sepassi6+171-42
2026-06-04 00:02rv32: bring up and complete riscv32-none-elf cross targetRyan Sepassi93+14450-10399
2026-06-04 03:38Fix Apple ARM64 variadic stack slotsRyan Sepassi5+106-24
2026-06-04 03:28Implement wasm sandbox host shimRyan Sepassi15+2457-343
2026-06-04 02:18Harden wasm runtime import handlingRyan Sepassi33+1467-252
2026-06-03 23:00aa64 asm: parse logical-immediate and lsl/lsr/asr aliasesRyan Sepassi5+105-4
2026-06-03 22:24make: add rt to default targetRyan Sepassi1+1-1
2026-06-03 22:04doc: regenerate CODE_SIZE.md after the economy refactorRyan Sepassi1+78-78
2026-06-03 21:53Exercise toy cross TLS startup with kitRyan Sepassi2+93-5
2026-06-03 21:53Add AA64 system register asm supportRyan Sepassi4+247-0
2026-06-03 21:53Support explicit register asm operandsRyan Sepassi38+1063-244
2026-06-03 19:12cg: restore out-of-range fallback in intrinsic table accessorsRyan Sepassi1+14-4
2026-06-03 18:46plan: RV32Ryan Sepassi1+385-0
2026-06-03 18:34test/coff: fix stale ARM64EC test to use KitTargetSpec (feature-model API)Ryan Sepassi1+1-1
2026-06-03 18:26cc: drop chatty "ignoring accepted compatibility flag" logRyan Sepassi2+6-29
2026-06-03 18:18obj/link: single-source no-location as SRCLOC_NONE; drop 22 no_loc() copiesRyan Sepassi23+402-513
2026-06-03 17:45link: single-source synthetic-region builder + ObjSym classificationRyan Sepassi6+290-594
2026-06-03 17:36emu/interp: drop dead cpu_state cluster, size-param load/store, de-global interp fault latchRyan Sepassi8+94-150
2026-06-03 17:30econ(obj-api-tables): table-drive COFF machine set; drop source.c tempsRyan Sepassi3+61-68
2026-06-03 17:30toy: table-drive dot-const parsers, flag loops, mem-xfer scaffoldingRyan Sepassi6+270-356
2026-06-03 17:30cpp: delete dead literal table; collapse #if binops into precedence loopRyan Sepassi8+193-168
2026-06-03 17:30lang/c: collapse per-TypeKind switches into one property tableRyan Sepassi5+81-127
2026-06-03 17:31obj: single-source ELF sym tables + writer LE helpersRyan Sepassi7+161-215
2026-06-03 17:35debug: unify DWARF form decoders behind a section-parameterized readerRyan Sepassi5+55-140
2026-06-03 17:33cg/opt: single-source width-aware integer constant-fold semanticsRyan Sepassi6+294-343
2026-06-03 17:45econ(native-shared): share inline-asm constraint + abi-clobber helpersRyan Sepassi5+107-128
2026-06-03 17:39econ(native-shared): share file_scope_asm + finalize in cg/native_asmRyan Sepassi5+48-34
2026-06-03 17:37econ(native-shared): hoist NativeLoc + scalar helpers into native_target.hRyan Sepassi5+340-397
2026-06-03 17:44wasm: collapse five parallel instruction switches into one WASM_INSN tableRyan Sepassi6+495-1582
2026-06-03 17:21cg: collapse four parallel KitCgIntrinsic switches into one descriptor tableRyan Sepassi2+72-187
2026-06-03 17:25dist: delete dead legacy kpkg v2 package-format surfaceRyan Sepassi2+0-395
2026-06-03 18:13Introduce target feature modelRyan Sepassi100+1801-368
2026-06-03 18:11mk: move test mk files to mk/Ryan Sepassi8+1046-1042
2026-06-03 16:09build: give libkit.a members unique, path-flattened namesRyan Sepassi3+70-33
2026-06-03 15:36doc: add binary code-size section from release linker mapRyan Sepassi4+325-5
2026-06-03 15:29doc: add CODE_SIZE.md with per-component cloc counts + regen scriptRyan Sepassi4+286-1
2026-06-03 14:45build: split Makefile into mk/ includes; fold rt build into MakefileRyan Sepassi9+878-864
2026-06-03 03:11driver: add generic `compile` front door; frontends own their flagsRyan Sepassi23+1086-114
2026-06-03 00:39driver: add standard-named aliases for hash and compressRyan Sepassi9+245-35
2026-06-02 23:49driver: add install command for drop-in toolchain symlinksRyan Sepassi14+695-31
2026-06-02 23:45make format: format git diff files by defaultRyan Sepassi1+15-1
2026-06-02 23:23driver: auto-resolve hosted sysroot when targeting the hostRyan Sepassi14+849-232
2026-06-02 23:14cg+aa64: use immediate operand forms for shifts/and/cmp at -O0Ryan Sepassi6+273-77
2026-06-02 22:38cg/fold: strength-reduce mul/udiv/urem by powers of two at -O0Ryan Sepassi6+320-2
2026-06-02 22:18driver run: shebang supportRyan Sepassi7+133-0
2026-06-02 21:57plan: kit build v2Ryan Sepassi1+450-230
2026-06-02 21:55rename: cfree -> kitRyan Sepassi886+38173-37732
2026-06-02 20:50plan: build system plan v1Ryan Sepassi2+442-0
2026-06-02 19:20rt: mark the remaining libc symbols weakRyan Sepassi15+65-30
2026-06-02 19:07compress: add standalone gzip + LZ4-frame compress toolRyan Sepassi20+7542-9
2026-06-02 18:25dist: ship libcfree + headers; keep on-demand rt out of install treeRyan Sepassi3+51-21
2026-06-02 18:18doc: document the new xxd/cmp/hash/disas/mc toolsRyan Sepassi1+7-2
2026-06-02 18:17test: cover the new byte-utility tools + hash APIRyan Sepassi4+181-2
2026-06-02 18:12driver: add mc tool (assemble an instruction, show its encoding)Ryan Sepassi5+307-0
2026-06-02 18:09driver: add disas tool (disassemble raw machine-code bytes)Ryan Sepassi5+282-0
2026-06-02 18:06hash: add public cfree/hash.h API + driver hash toolRyan Sepassi10+408-19
2026-06-02 18:05driver: add cmp tool (byte-by-byte file comparison)Ryan Sepassi5+287-0
2026-06-02 18:02driver: add xxd tool (raw hex dump with reverse/plain/include modes)Ryan Sepassi5+485-0
2026-06-02 16:32test: split test-bootstrap-toy into -debug/-release sub-targetsRyan Sepassi1+10-1
2026-06-02 15:33cg: make CmpOp FP-compare-lossless and reach all 12 FP predicates from frontendsRyan Sepassi34+1290-185
2026-06-02 15:25test: rename bootstrap-test-toy -> test-bootstrap-toy, add to default test targetsRyan Sepassi5+12-8
2026-06-02 15:16cg: remove bitfield_load/store from CgTarget; impls translate (Track 3b follow-up)Ryan Sepassi7+90-49
2026-06-02 14:54cg: drop the C frontend's stale duplicate INTRIN_BSWAP16/32/64 (Track 4a follow-up)Ryan Sepassi1+0-3
2026-06-02 14:40cg: fix i128 -O1 null-deref — flow wide16 int constants as VALUEs (Track 7.3 follow-up)Ryan Sepassi2+15-12
2026-06-02 13:34plan: flag i128_06 -O1 regression on this branch (blocks merge)Ryan Sepassi1+12-0
2026-06-02 13:16plan: record CODEGEN tracks landed/attempted on codegen-tracks-7634Ryan Sepassi1+121-125
2026-06-02 13:13cg: supports_intrinsic query + diagnostic + CPU intrinsics (Track 4c)Ryan Sepassi42+543-63
2026-06-02 12:36cg: make unreachable a first-class terminator hook + IR op (Track 4b)Ryan Sepassi28+95-34
2026-06-02 12:07cg: collapse INTRIN_BSWAP16/32/64 into one width-by-type BSWAP (Track 4a)Ryan Sepassi9+139-114
2026-06-02 11:47cg: bitfield as a PLACE subkind, drop the MemAccess bitfield rider (Track 3b)Ryan Sepassi6+135-57
2026-06-02 11:09cg: re-enable SV_ARITH delayed-arith -O0 peephole (Track 6.3)Ryan Sepassi3+21-18
2026-06-02 10:54cg: flow i128/f128 as VALUEs, collapse wide16 special paths (Track 7.3)Ryan Sepassi2+19-100
2026-06-02 10:51plan: fp cg fixRyan Sepassi1+182-0
2026-06-02 10:32cg: explicit PLACE predicate + forbid aggregate VALUEs (Track 7.1/7.2)Ryan Sepassi3+27-16
2026-06-02 09:49cg: strict PLACE/VALUE addressing, remove the load/store EA rider (Track 7)Ryan Sepassi16+1104-1415
2026-06-02 03:04plan: record Track 6.2 (fold.{c,h} extraction) as landedRyan Sepassi1+18-14
2026-06-02 03:03cg: isolate the -O0 semantic peephole into fold.{c,h} (Track 6.2)Ryan Sepassi5+774-679
2026-06-02 02:44plan: rework CODEGEN.md to record landed tracks + focus on what remainsRyan Sepassi1+268-390
2026-06-02 02:41test: add bootstrap to make testRyan Sepassi1+2-1
2026-06-02 02:29cg: consume public CfreeCgAtomicOp/CfreeCgMemOrder directly (Track 2, atomics slice)Ryan Sepassi22+187-241
2026-06-02 02:16cg: consume the public CfreeCgAsmDir directly (Track 2, asm-dir slice)Ryan Sepassi7+9-23
2026-06-02 02:12cg: remove the FP_REM façade (Track 4, decision #3)Ryan Sepassi4+3-13
2026-06-02 02:00cg: drop advertise-but-ignore MemAccess fields (Track 3a, decision #5)Ryan Sepassi4+3-26
2026-06-02 01:29cg: expose multi-result functions in the public API (Track 5)Ryan Sepassi33+402-165
2026-06-02 01:25cg/ir: specify IR to remove all undefined behavior; lock interpreter to itRyan Sepassi6+825-36
2026-06-02 01:05scripts: fail loudly on unmapped sources in gen_compile_commandsRyan Sepassi1+18-1
2026-06-02 00:52cg: remove dead SCOPE_IF/scope_else surface and CFREE_CG_TAIL_NEVER (Track 1a/1d)Ryan Sepassi31+26-214
2026-06-02 00:44test: fix asm corpus all-n/a and make test-asm a multi-arch aggregateRyan Sepassi3+31-20
2026-06-02 00:33plan: sketch RQL RSNRyan Sepassi2+1554-0
2026-06-02 00:33plan: codegen updateRyan Sepassi1+459-0
2026-06-02 00:33test: expand default targetsRyan Sepassi1+5-1
2026-06-02 00:22link: treat DSO exports as defined so archives don't shadow shared libsRyan Sepassi1+12-0
2026-06-02 00:15arch/c_target: re-emit file-scope asm verbatimRyan Sepassi4+48-0
2026-06-02 00:15arch/c_target: lower 128-bit runtime-helper calls to native __int128Ryan Sepassi1+130-0
2026-06-02 00:14rt: mark stdlib libc functions weak so host definitions can overrideRyan Sepassi1+22-13
2026-06-02 00:14test: use an unknown clobber_abi name in the error caseRyan Sepassi1+1-1
2026-06-02 00:14test: allowlist libc deps pulled in by the in-lib dist subsystemRyan Sepassi1+4-0
2026-06-02 00:14test: build each arch's linux rt archive for test-rt-runtimeRyan Sepassi1+29-17
2026-06-02 00:14test: accept aa64 as an alias for aarch64 in exec/image helpersRyan Sepassi2+23-20
2026-06-02 00:14test: scope CF_WORK per target tuple to fix parallel-dispatch racesRyan Sepassi1+8-2
2026-06-02 00:14test: set cf_workdir's EXIT trap in the caller's shellRyan Sepassi7+15-12
2026-06-02 00:14api/asm_emit: symbolize PC-relative local branches at section offset 0Ryan Sepassi1+37-2
2026-06-02 00:14arch/wasm: load frame-resident pointer locals in indirect addressingRyan Sepassi2+65-4
2026-06-01 22:02dist: fix review findings in the package layerRyan Sepassi2+44-22
2026-06-01 21:57test: standardize all harnesses onto canonical types (U/C/K/D)Ryan Sepassi76+6510-7392
2026-06-01 21:43arch: fix -O1 inline-asm callee-saved clobber frame panic; add FP constraints + clobber_abiRyan Sepassi19+318-53
2026-06-01 21:30dist: move CAS + signed-package subsystem into libcfreeRyan Sepassi53+3355-2235
2026-06-01 20:36frontends: eliminate the C->src/abi phantom edge, tighten wasm to one boundaryRyan Sepassi8+103-84
2026-06-01 20:24arch: known-frame prologue cost-model tiers for x64 and rv64Ryan Sepassi9+469-71
2026-06-01 20:04frontend: replace the cg_public_compat.h macro shim with direct pcg_* callsRyan Sepassi12+926-932
2026-06-01 19:25include: make frontend.h the single frontend front doorRyan Sepassi10+34-24
2026-06-01 19:06frontend: C registers its extensions; drop the fallback-to-CRyan Sepassi5+36-13
2026-06-01 19:02core: unify slice helpers onto the public inline implsRyan Sepassi2+15-38
2026-06-01 18:27Rewrite docsRyan Sepassi73+8642-37691
2026-06-01 17:12test: link x64-dbg test against LIB_OBJS, not the archiveRyan Sepassi1+5-2
2026-06-01 17:10rt: depend archive on rt/Makefile so a grown member list regenerates itRyan Sepassi1+8-1
2026-06-01 16:47driver/ reorganize into cmd/ lib/ subdirsRyan Sepassi48+74-66
2026-06-01 16:36make: cut Makefile-load overhead from ~507 to ~25 child processesRyan Sepassi2+32-70
2026-06-01 16:20rm stray obj fileRyan Sepassi1+0-90
2026-05-31 09:00cg: reference code locations via per-block local symbols, not fixed offsetsRyan Sepassi13+163-350
2026-05-31 06:00asm+test: full Toy cc -S → cfree/clang as exec parity across aa64/x64/rv64Ryan Sepassi9+363-85
2026-05-31 04:39rv64: emit explicit fcvt rounding mode in cc -S so clang re-encodes it exactlyRyan Sepassi4+74-35
2026-05-31 04:30rv64: emit canonical `addi rd,rs,%pcrel_lo` (not 3-operand `mv`) — clang-standardRyan Sepassi2+23-8
2026-05-31 04:04x64+rv64: complete the cc -S round-trip symbolizer (cross-exec 312/312 each)Ryan Sepassi13+635-124
2026-05-31 01:25doc: file-based incremental linking design (obj+link internals)Ryan Sepassi1+281-99
2026-05-31 00:46test+doc: correct rv64 hostas-cross root cause (cc -S infidelity, not emulation)Ryan Sepassi3+632-16
2026-05-31 00:40test+asm: hostas-cross gating default = aarch64-linux; x64/rv64 documented opt-inRyan Sepassi1+17-8
2026-05-31 00:37x64: cc -S symbolizer + disasm/as fidelity fixes (cross-assemble green)Ryan Sepassi8+190-34
2026-05-30 23:54test+asm: cross-compile + cross-exec host-assembler lane (test-hostas-cross)Ryan Sepassi3+343-8
2026-05-30 23:16asm: object-format-aware cc -S; aa64 Mach-O is clang-acceptable (test-hostas-toy gates)Ryan Sepassi11+641-143
2026-05-30 20:16test+asm: host-assembler execution lane over the Toy corpus (test-hostas-toy)Ryan Sepassi3+216-0
2026-05-30 18:08asm: round-trip SEC_OTHER named sections; toy /ld exec laneRyan Sepassi6+175-40
2026-05-30 02:17emu: add interpreter execution mode (cfree emu -interp)Ryan Sepassi12+1252-268
2026-05-29 22:29C front end: implement labels-as-values (computed goto)Ryan Sepassi30+326-29
2026-05-29 17:48Add threaded-bytecode interpreter for the opt IR (cfree run --no-jit)Ryan Sepassi25+4033-50
2026-05-30 02:07Fix O1 bootstrap scratch register hazardsRyan Sepassi3+160-185
2026-05-29 23:47O1: deref through a frame-resident pointer localRyan Sepassi8+308-80
2026-05-29 21:13doc: record 3-stage bootstrap state and the open -O1 cc.c param-bind miscompileRyan Sepassi1+157-0
2026-05-29 20:48O1 aa64: fix two regalloc interference bugs + add third int scratch regRyan Sepassi3+34-9
2026-05-29 19:53type_qualified: intern via assignment so memcmp is padding-stableRyan Sepassi1+18-9
2026-05-29 19:38Auto-link cfree runtime from ldRyan Sepassi6+259-91
2026-05-29 18:32Fix three aa64/-O0 codegen & linkage bugsRyan Sepassi8+75-25
2026-05-30 14:05asm: close 9/10 toy round-trip skips (&&label, .comm, macho addend)Ryan Sepassi4+84-30
2026-05-30 13:46test+asm: Toy-corpus L2 round-trip lane; fix .inst-dropped miscompileRyan Sepassi5+153-2
2026-05-30 06:17test: llvm differential cross-check (cfree as/disasm vs llvm-mc)Ryan Sepassi3+155-3
2026-05-30 06:07asm: emit .bss as NOBITS (close the last round-trip skip)Ryan Sepassi4+37-18
2026-05-30 05:57test+aa64: asm<->disasm self-symmetry sweep (decode<->encode)Ryan Sepassi8+306-0
2026-05-30 03:23doc+build: round-trip covers the full core op set; wire L0+L1 into default testRyan Sepassi2+64-20
2026-05-30 03:20aa64: decode load/store exclusive + acquire/release atomicsRyan Sepassi11+105-0
2026-05-30 03:02test: expand round-trip corpus to the full core op setRyan Sepassi267+1857-0
2026-05-30 03:01asm: FP/SIMD scalar load/store + dot-mangled symbol namesRyan Sepassi5+118-22
2026-05-30 02:33asm: symbolize data-section relocations in cc -S (jump tables)Ryan Sepassi4+118-14
2026-05-30 02:28asm: round-trip .L local symbols + complete the unscaled ld/st familyRyan Sepassi7+106-16
2026-05-30 02:20asm: relax same-section local branches at finalize (round-trip P2)Ryan Sepassi2+65-9
2026-05-30 01:24asm: implement aa64 codegen round-trip testing (L0/L1/L2) + symbolize -SRyan Sepassi20+815-10
2026-05-30 00:03doc: plan for asm/disasm completeness via codegen round-trip testingRyan Sepassi1+205-0
2026-05-29 23:00asm: fix 5 issues found by adversarial review of the session diffRyan Sepassi8+58-8
2026-05-29 22:15toy: make the REPL frontend compile transactionalRyan Sepassi35+1030-250
2026-05-29 21:27build: generate compile_commands.json for clangdRyan Sepassi2+126-0
2026-05-29 21:07Improve dbg REPL listing and stop messagesRyan Sepassi14+343-60
2026-05-29 22:42doc: mark native-arch asm/link completeness items doneRyan Sepassi1+60-34
2026-05-29 22:39x64 asm: parse sym(%rip), @PLT, @GOTPCREL relocation-operator operandsRyan Sepassi4+93-26
2026-05-29 22:33aa64 asm: parse :lo12:/:got:/:got_lo12: relocation-operator operandsRyan Sepassi4+123-3
2026-05-29 22:30rv64 asm: parse %hi/%lo/%pcrel_hi/%pcrel_lo relocation-operator operandsRyan Sepassi4+125-1
2026-05-29 22:23aa64 asm: encode ldst addressing modes, atomics/exclusive/LSE, mov ORR-bitmaskRyan Sepassi23+858-8
2026-05-29 22:15aa64 disasm: decode signed sub-word loads (ldrsb/ldrsh/ldrsw)Ryan Sepassi4+39-3
2026-05-29 22:15rv64 asm: encode call/tail/la/lla pseudos and multi-word liRyan Sepassi12+210-8
2026-05-29 22:15rv64 link: apply R_RISCV_SET_ULEB128/SUB_ULEB128 (DWARF diff relocs)Ryan Sepassi4+281-0
2026-05-29 22:15x64 asm: encode SIB index/scale, bare (%rip), and ALU/MOV memory-store formsRyan Sepassi14+228-18
2026-05-29 21:34doc: reconcile completeness checkboxes with committed workRyan Sepassi1+16-14
2026-05-29 21:29test/objdump: refresh aarch64 golden for sbfm decode; honor SKIP casesRyan Sepassi2+15-3
2026-05-29 21:26doc: record aa64 asm-encode progress (FP/bitfield/DP1/sub-word ldst done)Ryan Sepassi1+27-17
2026-05-29 21:24aa64 asm: encode byte/half and signed sub-word loads/storesRyan Sepassi4+48-3
2026-05-29 21:22aa64 asm: encode bitfield (sbfm/ubfm/bfm) and DP1 (clz/rbit/rev/rev16)Ryan Sepassi5+84-0
2026-05-29 21:20aa64 asm: encode scalar floating-point instructionsRyan Sepassi5+235-0
2026-05-29 21:15test/driver: assert rt auto-build via linked symbols, not the cache pathRyan Sepassi1+13-6
2026-05-29 21:05doc: update native-arch completeness — Tier 0-1 done, most Tier 2-4 doneRyan Sepassi1+38-16
2026-05-29 21:04mc: make the CFI prologue-PC override sticky until cfi_endprocRyan Sepassi1+12-5
2026-05-29 21:02test: add opt-in test-link-x64 for x64 ELF reloc applicationRyan Sepassi1+9-0
2026-05-29 21:01asm: implement .comm/.lcomm and .uleb128/.sleb128 (were silently skipped)Ryan Sepassi4+73-3
2026-05-29 20:58rv64 link: route far calls through JIT call stubsRyan Sepassi1+12-0
2026-05-29 20:56test: run x64 and rv64 assembler+disassembler in the default suiteRyan Sepassi2+16-2
2026-05-29 20:54rv64 asm: assemble symbolic branches and jumps via relocationsRyan Sepassi4+38-8
2026-05-29 20:48aa64 disasm: decode FP, bitfield, DP1, and register-offset ldstRyan Sepassi5+232-0
2026-05-29 20:37doc: mark native-arch completeness progress (5 of Tier 0-2 done)Ryan Sepassi1+17-19
2026-05-29 20:36x64/rv64: emit named parameters and locals in .debug_infoRyan Sepassi2+34-2
2026-05-29 20:32x64 disasm: decode movd/movq (66 0F 6E/7E) and xorps/xorpd (0F 57)Ryan Sepassi4+55-13
2026-05-29 20:27x64: map hardware GPR encoding to DWARF reg number in CFIRyan Sepassi6+75-12
2026-05-29 20:22rv64: emit TLS Local-Exec only, matching aa64/x64Ryan Sepassi3+63-29
2026-05-29 20:18aa64: emit Windows/COFF TLS Local-Exec access sequenceRyan Sepassi2+148-0
2026-05-29 19:42test: add opt-in test-parse-rv64-wide target for rv64 128-bit scalarsRyan Sepassi1+14-0
2026-05-29 19:32opt/x64: report the rdx:rax clobber of the unsigned multiply-overflow intrinsicRyan Sepassi2+17-0
2026-05-29 19:32opt: parameters mutually interfere at function entryRyan Sepassi1+9-1
2026-05-29 19:32cg: save the full value width when breaking an arg-shuffle cycleRyan Sepassi1+19-2
2026-05-29 19:32rv64: route conditional branches through a jal for ±1MiB reachRyan Sepassi2+36-13
2026-05-29 18:59x64: integer va_arg does offset arithmetic in its own dst registerRyan Sepassi8+74-40
2026-05-29 18:47opt: make machine-clobber forbids survive the ABI register hintsRyan Sepassi2+31-2
2026-05-29 18:22opt: teach the allocator about fixed-register machine-instruction clobbersRyan Sepassi5+162-3
2026-05-29 16:53cgpkg v3 CAS-based packagesRyan Sepassi26+5020-594
2026-05-29 18:00doc: opt reg constraints planRyan Sepassi1+180-0
2026-05-29 17:31x64 -O1: use only reserved emit scratch in va_arg/va_copy/copy_bytesRyan Sepassi1+87-56
2026-05-29 17:15CG runtime doc planRyan Sepassi1+279-0
2026-05-29 16:50x64: make -O1 entry param-binds cycle-safe via the shared shuffleRyan Sepassi4+170-46
2026-05-29 16:40Share the parallel-copy arg-move scheduler; x64 NativeFrame + partial O1Ryan Sepassi5+290-294
2026-05-29 16:12rv64: adopt NativeFrame, implement -O1 known-frame pathRyan Sepassi4+161-100
2026-05-29 16:10Fix O1 static data function pointer reachabilityRyan Sepassi1+95-22
2026-05-29 15:56Add shared NativeFrame module; migrate aa64 onto itRyan Sepassi4+339-126
2026-05-29 15:21rv64+x64: implement sibling (tail) callsRyan Sepassi2+193-26
2026-05-29 15:01x64: port to NativeTarget API (-O0)Ryan Sepassi15+8618-4777
2026-05-29 11:55rv64: port to NativeTarget API (-O0 core)Ryan Sepassi16+7684-4486
2026-05-29 05:15dbg: use standard step commandsRyan Sepassi17+374-83
2026-05-29 05:14Add dbg line editing and completionsRyan Sepassi6+730-5
2026-05-29 04:51test aa64 tail callsRyan Sepassi2+98-1
2026-05-29 04:30Emit Toy local debug info from CGRyan Sepassi10+135-14
2026-05-29 04:12dbg: add disasm, expand testsRyan Sepassi59+493-71
2026-05-29 03:33Prune unreachable static AArch64 O1 functionsRyan Sepassi9+387-1
2026-05-29 03:26Advance Toy dbg REPL tests and TODOsRyan Sepassi22+358-109
2026-05-29 02:16Fix AArch64 O1 va_start save area offsetsRyan Sepassi1+4-2
2026-05-29 02:12opt: reduce jump cleanup rescansRyan Sepassi1+11-6
2026-05-29 02:02doc: refresh OPT_O1_PERF_TODO standings (2026-05-28 sweep)Ryan Sepassi1+42-34
2026-05-29 01:43Tighten package verification checksRyan Sepassi5+47-1
2026-05-29 01:32pkg: canonicalize artifact orderRyan Sepassi3+472-47
2026-05-29 01:15pkg: vendor depsRyan Sepassi25+10085-216
2026-05-29 00:47Implement v2 package distributionRyan Sepassi15+1680-982
2026-05-28 21:20pkg: basic signed code distribution (cfree pkg)Ryan Sepassi30+2866-19
2026-05-29 01:48opt/aa64: fold O1 prologue via fp-at-bottom frame layoutRyan Sepassi5+309-157
2026-05-29 01:20opt: fold const convert-of-load_imm and thread branch targets through pass-through blocks"Ryan Sepassi6+323-15
2026-05-29 00:23doc: add PERCALL.md detailing -O1 per-call overhead and the optimalRyan Sepassi1+127-0
2026-05-28 21:32doc: refresh binary-trees -O1 numbers after known-frame prologueRyan Sepassi1+3-2
2026-05-28 21:27opt/aa64: fix five O1 codegen bugs (i128/ldbl/variadic/asm)Ryan Sepassi6+106-11
2026-05-28 20:49opt/aa64: plan the O1 call frame up front, drop all back-patchingRyan Sepassi4+361-165
2026-05-28 20:18wasm: fix all 7 test/parse W-path failuresRyan Sepassi12+226-80
2026-05-28 19:31wasm/structure: unroll nested switches to fix infinite-loop dispatchRyan Sepassi2+39-10
2026-05-28 19:02doc: refresh wasm test/parse W-path checklistRyan Sepassi1+26-31
2026-05-28 19:02wasm/obj: objdump container reader and WAT disassemblerRyan Sepassi12+592-34
2026-05-28 19:02wasm: ir_emit lowerings for bitfields, aggregates, TLS, and condsRyan Sepassi2+179-34
2026-05-28 19:02wasm: opcode coverage and switch/atomic limitsRyan Sepassi9+828-374
2026-05-27 23:02wasm: make long double binary128 and report it unsupportedRyan Sepassi5+122-6
2026-05-28 20:01cg/ndt: O(cached) flush list, cached dispatch/class info, thin NativeOpsRyan Sepassi2+136-59
2026-05-28 20:00opt/aa64: unify deferred in-function patches into one tagged-union listRyan Sepassi1+82-76
2026-05-28 18:46bench: cache fixed-compiler baseline; default opt_bench to cfree-onlyRyan Sepassi4+359-176
2026-05-28 18:02link/elf: fix PIE relocations for code-address dataRyan Sepassi2+31-1
2026-05-28 17:38opt/aa64: resolve call-argument moves as a parallel copyRyan Sepassi3+166-13
2026-05-28 17:12opt+aa64: unify on AAPCS64 frame layout; hint params to incoming regsRyan Sepassi3+294-240
2026-05-28 16:34driver/env: add Windows host TU; extract env selection to mk/env.mkRyan Sepassi17+1921-228
2026-05-28 15:57driver/env: split into per-OS/arch TUs, drop ifdefs from implRyan Sepassi20+2276-1853
2026-05-28 15:34opt: hint call-arg sources to ABI dest regs + propagate through copiesRyan Sepassi2+111-1
2026-05-28 15:12opt: elide identity moves and the terminal IR_RET branchRyan Sepassi2+29-2
2026-05-28 13:39opt: O1 codegen batch — loop-imm hoist, ABI aliasing hints, slim prologue, IMUL strength-reduce, call copy-propRyan Sepassi14+922-68
2026-05-28 05:38opt: O1 codegen wins + tiny-function inlinerRyan Sepassi18+1660-596
2026-05-27 22:53core: add cfree_debug_getenv weak hook alongside cfree_debug_printfRyan Sepassi2+11-2
2026-05-27 22:35rm old opt testsRyan Sepassi4+0-7200
2026-05-27 23:09link/debug: retain DWARF in linked ELF/Mach-O imagesRyan Sepassi19+980-58
2026-05-27 22:27driver/link: default hosted targets to PIE; fix PE ASLR flags and static-PIE overflowRyan Sepassi7+47-11
2026-05-27 21:31opt: fix two O1 aa64 codegen-correctness bugsRyan Sepassi3+34-14
2026-05-27 20:36obj/objdump: extend image inspection — dynsym, rpath, stripped-segment disasmRyan Sepassi25+1093-67
2026-05-27 20:34cg: dump semantic CG IR via cc --emit=irRyan Sepassi10+522-40
2026-05-27 19:50cg: clear diagnostic when target arch backend isn't builtRyan Sepassi3+31-1
2026-05-27 19:44obj/objdump: add linked-image inspection (segments, dynamic info)Ryan Sepassi10+1030-38
2026-05-27 19:38opt: emit param_decls into a dedicated prologue blockRyan Sepassi1+18-1
2026-05-27 19:24aa64: pass/return long double (fp128) in full 128-bit q registerRyan Sepassi2+14-8
2026-05-27 19:16test: depend on cross-target rt archive for JIT-path harnessesRyan Sepassi1+19-3
2026-05-27 18:57build: create support/rt symlink alongside bin targetRyan Sepassi1+6-2
2026-05-27 18:50c/cg: emit FP add/sub for ++/-- on floating operandsRyan Sepassi1+21-12
2026-05-27 18:38test/toy: rename opt-level env var to CFREE_OPT_LEVELS, default O0+O1Ryan Sepassi1+2-2
2026-05-27 18:38bench: replace FAST flag with per-tool skip flags; add compare scriptRyan Sepassi2+207-18
2026-05-27 18:38wasm: de-rotate for-loop CFG blocks before structurizationRyan Sepassi1+108-0
2026-05-27 18:37opt: fold constant operands as immediates at O1; drop copy/return round-tripsRyan Sepassi3+114-44
2026-05-27 18:29opt: implement Design B of NativeDirectTarget local register cacheRyan Sepassi4+378-55
2026-05-27 18:20aa64: wire DWARF debug emission through the native_direct pathRyan Sepassi5+40-2
2026-05-27 17:58driver: add strings tool and objdump --dwarfRyan Sepassi25+1648-6
2026-05-27 17:01opt: add write-back local register cache to NativeDirectTarget (Design A)Ryan Sepassi3+398-40
2026-05-27 16:48driver: add dist target and move rt cache to DriverEnvRyan Sepassi5+51-67
2026-05-27 15:46doc: update O1 checklist — asm + direct-replay deletion + callee-saves + param-home doneRyan Sepassi1+71-22
2026-05-27 15:09opt: route incoming params straight into their allocated registerRyan Sepassi3+59-66
2026-05-27 13:37aa64: make callee-saved registers allocable at O1Ryan Sepassi3+166-16
2026-05-27 13:19opt: route inline asm through optimizer; delete direct-replay pathRyan Sepassi3+185-438
2026-05-27 12:56doc: aggregate/sret ABI complete on optimizer path (7 asm cases remain)Ryan Sepassi1+5-10
2026-05-27 12:56aa64: set sret x8 after argument loads in plan_callRyan Sepassi1+15-11
2026-05-27 12:50doc: update O1 recovery progress (aggregates mostly landed; tail-sret + asm remain)Ryan Sepassi1+34-4
2026-05-27 12:49opt: handle aggregate-typed COPY/LOAD/STORE via byte copyRyan Sepassi1+37-0
2026-05-27 12:44opt: aggregate ABI lowering on optimizer path (partial)Ryan Sepassi3+80-25
2026-05-27 12:33opt: route varargs through optimizer path; fix ADDR_OF spill writebackRyan Sepassi6+789-95
2026-05-27 01:10arch: split MCEmitter interface out of arch.h into mc.hRyan Sepassi19+178-156
2026-05-27 00:53wasm: route both emit backends through semantic IR recorder and shared opt pipelineRyan Sepassi2+298-109
2026-05-27 00:53aa64: convert native.c from CGTarget wrapper to NativeTarget implementationRyan Sepassi1+288-235
2026-05-27 00:53opt: rewrite pipeline to consume CgIrFunc input; replace pass_emit with NativeTargetRyan Sepassi13+3951-3843
2026-05-27 00:53cg: add i128 arithmetic via libcalls, wire supports_label_table through ir_recorderRyan Sepassi7+353-61
2026-05-27 00:53ir,opt,cg: define local-static-data IR ops, restructure opt pipeline boundaryRyan Sepassi6+268-76
2026-05-27 00:51parse: fix _Bool conversion to emit compare-against-zero rather than truncateRyan Sepassi1+20-0
2026-05-27 00:50test: add C and W paths to default test-toy; add W path to parse runnerRyan Sepassi3+93-9
2026-05-26 23:16arch: rm old regalloc.h/cRyan Sepassi4+6-204
2026-05-26 22:41build,test: add native-direct-target test, improve parse runnerRyan Sepassi5+566-10
2026-05-26 22:41aa64: delete old CGTarget backend, switch to NativeDirectTargetRyan Sepassi10+3305-4842
2026-05-26 22:41wasm: convert target to semantic CG via IR recorderRyan Sepassi4+740-345
2026-05-26 22:41c target: emit aliases from IR moduleRyan Sepassi1+4-0
2026-05-26 22:41cg: add IR alias support, semantic label tables, switch hint, store relaxRyan Sepassi7+105-16
2026-05-26 22:41arch,cg: introduce NativeTarget and NativeDirectTarget interfacesRyan Sepassi4+2050-16
2026-05-26 22:41abi: add va_list layout details per targetRyan Sepassi10+76-0
2026-05-26 22:40rt: fix __fixtfsi overflow and auto-detect native runtime variantRyan Sepassi1+32-1
2026-05-26 22:33rt: auto-detect host-native runtime variantRyan Sepassi1+34-10
2026-05-26 19:02Add IR recorder C backend pathRyan Sepassi14+5956-4187
2026-05-26 16:32Cut over Cg to semantic CgTargetRyan Sepassi28+2328-3689
2026-05-26 03:18Disable native backends for C target cutoverRyan Sepassi7+74-28
2026-05-26 02:51bootstrap: avoid post-link strip on release binariesRyan Sepassi9+69-57
2026-05-26 01:37CGTARGET plan updateRyan Sepassi1+90-32
2026-05-26 01:33formatRyan Sepassi660+12334-10258
2026-05-26 01:29macho: lower split sections to atomsRyan Sepassi54+1154-278
2026-05-26 00:12Add split section codegen flagsRyan Sepassi7+112-13
2026-05-25 23:52CGTarget planRyan Sepassi1+625-0
2026-05-25 23:51Add compile-time component knobsRyan Sepassi25+1414-214
2026-05-25 23:09Tighten release binary sizeRyan Sepassi1+11-2
2026-05-25 22:23Fix debug DWARF test targetsRyan Sepassi2+9-9
2026-05-25 20:44wasm: add backend and target feature supportRyan Sepassi112+17174-6499
2026-05-25 22:09Fix test targets for public API coverageRyan Sepassi21+1138-1642
2026-05-25 22:07Fix C backend bitfield base addressesRyan Sepassi1+45-1
2026-05-25 21:28mk: one-entry-per-line for .PHONY and test: prerequisitesRyan Sepassi2+81-4
2026-05-25 20:44cg: support tail-call realizabilityRyan Sepassi37+617-170
2026-05-25 21:20Keep CG API tests on public surfaceRyan Sepassi4+172-92
2026-05-25 21:13Fix parse harness public API boundariesRyan Sepassi5+83-82
2026-05-25 20:44cc: honor -x language for stdinRyan Sepassi2+43-6
2026-05-25 20:51Fix bootstrap partial linking issuesRyan Sepassi4+53-19
2026-05-25 20:28build: hide non-public libcfree symbolsRyan Sepassi19+306-304
2026-05-25 20:21Add release build toggleRyan Sepassi3+108-32
2026-05-25 20:12build: enforce public libcfree exportsRyan Sepassi5+148-18
2026-05-25 20:12cc: support default symbol visibilityRyan Sepassi6+46-7
2026-05-25 20:11driver: add check, asm output, and object toolsRyan Sepassi15+2278-18
2026-05-25 20:08build: make optimizer sources optionalRyan Sepassi10+47-3
2026-05-25 20:07build: isolate hosted driver environmentRyan Sepassi6+238-216
2026-05-25 20:05core: stabilize panic save layout across C environmentsRyan Sepassi2+10-2
2026-05-25 20:05doc: describe lowered-CG IRRyan Sepassi1+490-0
2026-05-25 11:23Emulator redesign, RV64 Linux minimal implRyan Sepassi34+7167-4464
2026-05-25 11:00Add ABI registry gatingRyan Sepassi10+118-74
2026-05-25 10:45Refactor object formats into gated directoriesRyan Sepassi66+12893-12751
2026-05-25 10:10Add object format registryRyan Sepassi10+603-502
2026-05-25 06:12opt pipeline redesignRyan Sepassi27+3090-629
2026-05-24 17:47Integrate self-hosted bootstrapRyan Sepassi4+75-248
2026-05-24 16:02aa64: don't clobber aggregate-return base with first field loadRyan Sepassi3+74-3
2026-05-24 13:37opt: don't reuse indirect-call target scratch as parallel-move tempRyan Sepassi1+8-5
2026-05-24 13:26cc: --sysroot triggers hosted mode; add freestanding math.hRyan Sepassi2+74-3
2026-05-24 13:05c_target: cast pointer operands of mem builtins to void*Ryan Sepassi1+16-3
2026-05-24 13:05rt: implement printf '*' width/precision; fix stale rt archive membersRyan Sepassi3+41-2
2026-05-24 12:42parse: accept compound-literal static initializers; fix bootstrap driver -IlangRyan Sepassi2+28-2
2026-05-24 12:19slice: replace NUL-terminated strings with fat-pointer CfreeSliceRyan Sepassi197+4234-3331
2026-05-24 00:37test: add format-bounce stress harness; fix assembler local UNDEFsRyan Sepassi12+507-1
2026-05-23 23:04bootstrap: fix self-compilation across frontend, codegen, and harnessRyan Sepassi7+105-12
2026-05-23 22:26ssa2 planRyan Sepassi1+932-0
2026-05-23 21:19lang: extract C preprocessor into lang/cpp/ behind CFREE_LANG_CPP_ENABLEDRyan Sepassi25+729-623
2026-05-23 20:37cc: drop --dump-tokens and the test/lex corpusRyan Sepassi38+19-1408
2026-05-23 20:30lang: registry-driven frontend dispatch with extensions on the vtableRyan Sepassi17+215-103
2026-05-23 17:43cg: introduce CGBackend; gate arch sources via config.hRyan Sepassi12+291-51
2026-05-23 17:06doc: add REGISTRY.md — build-time component configuration planRyan Sepassi1+219-0
2026-05-23 17:06doc: prune stale checklists and plansRyan Sepassi20+0-5758
2026-05-23 17:05opt: O1 perf — MIR-shaped combine, block reorder, scalar promote, addr-of-global CSERyan Sepassi7+2067-233
2026-05-23 17:03cg: extend memory ops with effective-address riderRyan Sepassi50+3211-1305
2026-05-22 19:34Add Windows PE/COFF supportRyan Sepassi88+12910-330
2026-05-22 20:34opt regalloc: swap to MIR-shaped point-bitmap allocator at O1Ryan Sepassi3+339-543
2026-05-22 19:24opt emit: dedup set_loc calls; cache hard-reg scan; gate verify on NDEBUGRyan Sepassi4+106-15
2026-05-22 18:50metrics speedup, defer loggingRyan Sepassi4+165-21
2026-05-22 18:07Enable coalescing and addr-xform at O1; add gap analysis and fast-bench modeRyan Sepassi9+458-20
2026-05-22 16:14Split optimizer design and performance docsRyan Sepassi7+490-3452
2026-05-22 15:29Fix O2 matrix and Darwin math blockersRyan Sepassi15+218-4
2026-05-22 11:54Add OPT benchmark harnessRyan Sepassi4+646-10
2026-05-22 10:59Add CG inline policy and Toy call attrsRyan Sepassi29+518-16
2026-05-22 10:08test O2 jump and inline cleanup qualityRyan Sepassi7+234-11
2026-05-22 09:41Complete optimizer Phase E inliningRyan Sepassi8+680-168
2026-05-22 05:54opt: add first Phase E inliner sliceRyan Sepassi5+671-17
2026-05-22 04:35Complete x64 backend parityRyan Sepassi67+6545-1154
2026-05-22 04:32Implement O2 jump optimizationRyan Sepassi4+284-10
2026-05-22 04:22Implement O2 SSA combineRyan Sepassi4+152-6
2026-05-22 02:41Refresh O2 optimizer planRyan Sepassi1+40-13
2026-05-22 02:34Optimize pressure relief passRyan Sepassi4+131-17
2026-05-22 01:05rv64: complete backend parity workRyan Sepassi210+10748-804
2026-05-22 01:00Implement O2 pressure reliefRyan Sepassi4+246-1
2026-05-22 00:51Implement LICM optimization passRyan Sepassi4+324-1
2026-05-22 00:36Implement O2 dead store eliminationRyan Sepassi4+537-4
2026-05-22 00:26opt: add identity simplification passRyan Sepassi8+748-43
2026-05-22 00:25opt: add path-aware memory GVNRyan Sepassi4+464-32
2026-05-21 23:07opt: place split spills on critical edgesRyan Sepassi6+372-87
2026-05-21 22:43opt: add first memory-aware gvn sliceRyan Sepassi4+719-23
2026-05-21 22:13opt: add SSA copy propagationRyan Sepassi7+295-5
2026-05-21 21:12Implement O2 allocation coalescing and splittingRyan Sepassi10+941-85
2026-05-21 20:37Align compile link and JIT session APIsRyan Sepassi28+2562-2477
2026-05-21 19:53Implement scalar GVNRyan Sepassi5+740-47
2026-05-21 19:19test opt scalar gvn red casesRyan Sepassi2+243-5
2026-05-21 19:18Keep O1 stack spill assignment linearRyan Sepassi3+296-53
2026-05-21 19:06Makefile: objs depend on MakefileRyan Sepassi1+8-7
2026-05-21 19:06Clean up O1 preg namespaceRyan Sepassi16+610-657
2026-05-21 18:59Improve Toy REPL diagnostic locationsRyan Sepassi6+38-13
2026-05-21 18:49Make optimizer pseudo-registers explicitRyan Sepassi14+725-84
2026-05-21 18:43Make dbg REPL frontend-drivenRyan Sepassi13+542-451
2026-05-21 18:10VIRTUAL_REGS planRyan Sepassi1+96-0
2026-05-21 18:06Make source frontends lifecycle-drivenRyan Sepassi10+454-219
2026-05-21 17:47Update FRONTEND planRyan Sepassi1+66-0
2026-05-21 17:46dbg: fallback to expr so jit/expr can be elidedRyan Sepassi2+49-9
2026-05-21 17:45Add stateful frontend vtableRyan Sepassi10+281-104
2026-05-21 17:45Make test-parse build runtime firstRyan Sepassi1+1-1
2026-05-21 17:35persistent frontend planRyan Sepassi1+62-0
2026-05-21 17:32Implement JIT session resilience via setjmp/longjmpRyan Sepassi5+68-8
2026-05-21 17:30test run.sh ensure podman never pullsRyan Sepassi3+4-4
2026-05-21 17:29c_target: implement native data relocations via packed structsRyan Sepassi2+228-708
2026-05-21 17:22cg: preserve switch table indices under optRyan Sepassi3+58-38
2026-05-21 17:21x64: fix optimized arithmetic and tail-call coverageRyan Sepassi3+158-11
2026-05-21 16:46C backend switch emit signedRyan Sepassi1+1-1
2026-05-21 16:32Add pre-GVN O2 rewrite coverageRyan Sepassi8+982-17
2026-05-21 15:39opt: add SSA DCE and copy cleanupRyan Sepassi14+571-199
2026-05-21 15:23opt: complete O2 SSA substrateRyan Sepassi12+296-140
2026-05-21 15:02Enable optimized toy cc coverageRyan Sepassi5+37-19
2026-05-21 14:50Improve AA64 compare and cset disassemblyRyan Sepassi10+198-12
2026-05-21 14:24Implement production SSA for O2Ryan Sepassi6+927-322
2026-05-21 14:08opt: add O2 analysis substrateRyan Sepassi8+639-312
2026-05-21 14:06Add rv64 asm/disasm parity scaffoldingRyan Sepassi17+741-40
2026-05-21 14:04x64: add asm disasm parity sliceRyan Sepassi27+1063-242
2026-05-21 14:02docs: add x64 parity checklistRyan Sepassi1+92-0
2026-05-21 13:55Expand driver flag compatibilityRyan Sepassi7+491-7
2026-05-21 04:41Improve emit-c source readabilityRyan Sepassi2+68-4
2026-05-21 03:49Place runtime cache under build rtRyan Sepassi11+55-19
2026-05-21 03:43Add jump-table lowering for CG switchesRyan Sepassi6+308-17
2026-05-21 02:58test: broaden switch corpus and seed jump-table red shape testRyan Sepassi13+478-1
2026-05-21 02:58toy: support // line commentsRyan Sepassi1+11-3
2026-05-21 02:58c-frontend: integer-promote switch controlling expressionRyan Sepassi3+37-0
2026-05-21 02:25cg: support C local static label tablesRyan Sepassi10+380-2
2026-05-21 02:09cg: redesign switch / computed_goto / label-addr around structured IRRyan Sepassi31+840-93
2026-05-20 23:33cg,c_target: wire cfree_cg_switch through a target hook; real C `switch`Ryan Sepassi8+256-43
2026-05-20 22:48c_target,c-frontend: emit structured for/break/continue from SCOPE_LOOPRyan Sepassi5+113-22
2026-05-20 21:48rt: drop hosted libc shim, use system headers via sysrootRyan Sepassi31+64-1879
2026-05-20 21:41c_target: cut bridge-cast noise; support Mach-O TLSRyan Sepassi2+293-45
2026-05-20 20:28test/toy: wrap i64 main with i32 thunk; drop -Wno-main-return-typeRyan Sepassi128+387-134
2026-05-20 20:15c_target: emit C that compiles under -Wall -Wextra -WerrorRyan Sepassi3+50-12
2026-05-20 19:24c_target: fix several path-C bugs in test-parseRyan Sepassi4+267-37
2026-05-20 19:23obj: builder mutators + strip/objcopy driversRyan Sepassi37+2820-218
2026-05-20 18:34c_target: land Phase 4 of the C-source backendRyan Sepassi4+925-99
2026-05-20 18:22driver: add cpp + ranlib tools and obj-roundtrip APIRyan Sepassi9+884-1
2026-05-20 17:55c_target: land Phase 3 of the C-source backendRyan Sepassi5+811-93
2026-05-20 17:24c_target: land Phase 2 of the C-source backendRyan Sepassi5+723-156
2026-05-20 16:59c_target: land Phase 0/1 of the C-source backendRyan Sepassi16+1859-206
2026-05-20 15:21Enable runtime printf float formattingRyan Sepassi10+476-38
2026-05-20 15:01doc: rewrite CBACKEND.md plan around CGTarget seamRyan Sepassi1+487-266
2026-05-20 14:31rt: implement freestanding header routinesRyan Sepassi9+995-44
2026-05-20 13:59Add bootstrap targetRyan Sepassi1+23-31
2026-05-20 13:59Fix parse bootstrap regressionsRyan Sepassi4+38-10
2026-05-20 13:43Fix self-hosted stage build without clang fallbackRyan Sepassi58+689-376
2026-05-20 12:30Split target and hosted predefined macrosRyan Sepassi10+124-5
2026-05-20 12:18Fix stage2 aggregate and aa64 bootstrap bugsRyan Sepassi14+231-21
2026-05-20 06:35Fix macro argument parsing for unbalanced bracesRyan Sepassi6+28-3
2026-05-20 06:14Preserve null constants through suppressed loadsRyan Sepassi3+11-1
2026-05-20 06:00Fix SQLite-driven codegen and Mach-O addendsRyan Sepassi16+257-3
2026-05-20 05:53Fix Lua-driven frontend and cc regressionsRyan Sepassi18+239-15
2026-05-20 05:28Implement relocatable ld linksRyan Sepassi8+605-19
2026-05-20 05:04Fix signed pointer index loweringRyan Sepassi8+65-12
2026-05-20 04:28Decorate runtime helper linkage namesRyan Sepassi1+3-1
2026-05-20 02:46Add hosted libc and runtime driver supportRyan Sepassi11+1831-15
2026-05-20 01:23Broaden driver compatibilityRyan Sepassi8+1147-131
2026-05-20 01:22Preserve ordered link inputsRyan Sepassi12+364-200
2026-05-20 01:22Fix C pointer constant casesRyan Sepassi16+256-117
2026-05-20 00:36Fix AArch64 logical immediate rotationRyan Sepassi2+18-1
2026-05-20 00:36Emit Mach-O TLV descriptors for TLS dataRyan Sepassi2+162-0
2026-05-20 00:36Fix FP negation and address codegenRyan Sepassi17+156-26
2026-05-20 00:36Fix C record and array parameter loweringRyan Sepassi17+268-101
2026-05-19 23:55Fix parser CAS type stackRyan Sepassi1+6-2
2026-05-19 23:40Fix parse edge casesRyan Sepassi5+111-17
2026-05-19 23:12Reorganize public API bridge filesRyan Sepassi20+1938-1950
2026-05-19 23:08src/opt src/cg breakup into multiple filesRyan Sepassi33+9450-9483
2026-05-19 23:02Fix Mach-O section name pointers during sortRyan Sepassi1+8-0
2026-05-19 23:01C11 BUGS add red testsRyan Sepassi9+111-9
2026-05-19 22:59lang/wasm/ refactor into multiple filesRyan Sepassi9+8390-8304
2026-05-19 22:32abi: classify wide16 scalars (i128, long double) in SysV-x64Ryan Sepassi3+276-3
2026-05-19 22:29cg: extract call-shape helpers and central storage-shape predicateRyan Sepassi2+406-131
2026-05-19 22:13Clean up public API: merge object headers, drop redundant accessors, use boolRyan Sepassi28+205-237
2026-05-19 21:56Fix Mach-O OutSec drift and clang non-extern reloc supportRyan Sepassi3+111-9
2026-05-19 21:51Fix parser bugs from BUGS listRyan Sepassi21+152-61
2026-05-19 21:45Support #warning directiveRyan Sepassi5+34-7
2026-05-19 21:38rm K&R fn defs expectationsRyan Sepassi4+0-21
2026-05-19 21:37Support block-scope function declarationsRyan Sepassi6+304-24
2026-05-19 21:30Fix brace-elided aggregate initializersRyan Sepassi2+202-51
2026-05-19 21:30Fix x64 PIC codegen and PIE dynamic-section noiseRyan Sepassi3+166-28
2026-05-19 21:11test: add red C11 frontend coverageRyan Sepassi29+151-0
2026-05-19 21:00Migrate codebase to new component-split public APIRyan Sepassi107+4397-3890
2026-05-19 19:44Public API rewriteRyan Sepassi20+1570-2006
2026-05-19 19:00Support Unicode transcoding in C literalsRyan Sepassi11+370-156
2026-05-19 18:52Expand C11 parser coverage and literal supportRyan Sepassi39+620-114
2026-05-19 18:30Fix parser constraint diagnosticsRyan Sepassi7+242-5
2026-05-19 16:30Complete i128 and binary128 long double supportRyan Sepassi25+1493-395
2026-05-19 15:01test: add red C11 parser conformance casesRyan Sepassi58+364-0
2026-05-19 14:32Add binary128 long double target testsRyan Sepassi66+1277-70
2026-05-19 13:37Complete freestanding runtime conformance gateRyan Sepassi15+509-41
2026-05-19 04:19Fix x64 atomic compare-exchange register pressureRyan Sepassi1+33-3
2026-05-19 04:12Build runtime with cfreeRyan Sepassi16+643-38
2026-05-19 02:38Update lib dependency allowlistRyan Sepassi2+5-4
2026-05-19 02:34Complete C11 declaration and expression semantics cleanupRyan Sepassi41+385-44
2026-05-19 01:34Complete C11 bit-field and static initializer semanticsRyan Sepassi18+479-106
2026-05-19 00:44Fix zero-fill static object emissionRyan Sepassi2+2-2
2026-05-19 00:20Fix runtime bootstrap parser blockersRyan Sepassi16+184-13
2026-05-18 23:46Fix typed overflow builtinsRyan Sepassi11+318-88
2026-05-18 22:51Implement typed C constant expression evaluationRyan Sepassi7+591-112
2026-05-18 22:39Fix macro hideset recursion in fp runtime probeRyan Sepassi17+115-18
2026-05-18 22:20Tighten C11 parse constraintsRyan Sepassi25+986-240
2026-05-18 21:50test: expand C11 conformance gap coverageRyan Sepassi26+211-19
2026-05-18 21:36Add C semantic checks and declaration stateRyan Sepassi20+418-25
2026-05-18 21:12Fix C11 parse error diagnosticsRyan Sepassi6+293-6
2026-05-18 20:55Set executable permissions on linked outputsRyan Sepassi6+119-7
2026-05-18 20:26fix parse aggregate and VLA loweringRyan Sepassi4+93-126
2026-05-18 19:22Support stack args in tail callsRyan Sepassi6+220-69
2026-05-18 18:28Validate CG memory access mismatchesRyan Sepassi4+322-50
2026-05-18 17:05Complete wasm feature gates and tail callsRyan Sepassi12+1567-52
2026-05-18 14:38Add staged wasm proposal frontend supportRyan Sepassi14+979-303
2026-05-18 08:00Polish WASM trap loweringRyan Sepassi10+337-40
2026-05-18 07:02Implement Wasm runtime instance slotsRyan Sepassi7+2695-2524
2026-05-18 06:43wasm: add instance runtime runner pathRyan Sepassi7+859-364
2026-05-18 05:17wasm: run executable path for macho testsRyan Sepassi1+41-26
2026-05-18 05:08wasm: lower globals tables memory growth and localsRyan Sepassi15+582-40
2026-05-18 04:42Complete Wasm frontend reader validationRyan Sepassi14+1669-219
2026-05-18 04:19Complete wasm frontend native loweringRyan Sepassi24+2634-101
2026-05-18 03:38Add initial wasm frontendRyan Sepassi27+2411-10
2026-05-18 01:02docs: plan wasm frontend and backendRyan Sepassi1+794-0
2026-05-18 00:05Complete O1 codegen cleanupRyan Sepassi16+502-331
2026-05-17 23:11OP1.md doc refresh + perf refreshRyan Sepassi2+554-1006
2026-05-17 22:47toy: add fat slicesRyan Sepassi13+406-8
2026-05-16 22:44Rewrite toy frontend toward specRyan Sepassi437+11153-3174
2026-05-16 16:53Fix inline asm memory operand addressesRyan Sepassi1+26-23
2026-05-16 16:45Add Toy function pointer callsRyan Sepassi4+216-80
2026-05-16 16:36Run toy tests at O0 and O1Ryan Sepassi1+42-38
2026-05-16 16:33Move O1 tail calls onto planned replayRyan Sepassi22+192-79
2026-05-16 07:59Expand opt call-plan ABI register coverageRyan Sepassi3+516-35
2026-05-16 07:39Make call setup visible to optRyan Sepassi11+608-82
2026-05-16 02:04Implement guarded Phase 5 register exposureRyan Sepassi7+286-38
2026-05-16 01:03Implement planned call replay for O1Ryan Sepassi13+711-89
2026-05-16 00:35Implement O1 call clobber register metadataRyan Sepassi10+1055-53
2026-05-16 00:15docs: plan richer opt register constraintsRyan Sepassi2+429-1
2026-05-15 23:51opt: reserve only replayed hard regsRyan Sepassi3+117-31
2026-05-15 23:40Allow O1 params to bind to registersRyan Sepassi15+407-80
2026-05-15 22:49Tighten O1 post-rewrite cleanupRyan Sepassi3+270-16
2026-05-15 22:12Add O1 local jump cleanupRyan Sepassi6+399-35
2026-05-15 21:51Fix AArch64 large frame offset emissionRyan Sepassi5+183-53
2026-05-15 21:38Complete O1 constfold cleanupRyan Sepassi5+485-244
2026-05-15 21:12Implement constfold delayed arithmetic and local shadowsRyan Sepassi3+1122-31
2026-05-15 20:42Add vstack immediate constant foldingRyan Sepassi4+913-37
2026-05-15 20:04opt: keep scalar locals in virtual registersRyan Sepassi15+941-78
2026-05-15 18:07cg: replace public frame slots with local handlesRyan Sepassi10+294-133
2026-05-15 17:24docs: describe LocalId storage policyRyan Sepassi1+127-0
2026-05-15 14:49cg: defer integer compares for branch fusionRyan Sepassi1+210-116
2026-05-15 14:40Emit exact O1 prologues for known framesRyan Sepassi12+1072-441
2026-05-15 13:45Size opt prologue placeholders from planned regsRyan Sepassi12+270-57
2026-05-15 07:41Optimize O1 allocator occupancyRyan Sepassi3+203-127
2026-05-15 07:33Complete O1 performance cleanupRyan Sepassi4+208-71
2026-05-15 04:32Track O1 MIR-shape metricsRyan Sepassi8+547-111
2026-05-15 03:27Improve dbg JIT expression REPLRyan Sepassi17+5245-3547
2026-05-15 03:16Improve O1 wide-function allocation perfRyan Sepassi10+772-496
2026-05-15 02:42Implement range rewrite without live_afterRyan Sepassi5+339-96
2026-05-15 02:32Add append-only JIT snippets to dbgRyan Sepassi6+1012-6
2026-05-15 02:25Implement range-based O1 assignmentRyan Sepassi7+511-190
2026-05-15 02:11opt: add MIR-style live range modelRyan Sepassi6+467-21
2026-05-15 02:03docs: design incremental jit linkingRyan Sepassi3+863-0
2026-05-15 02:02opt: add pass-local block livenessRyan Sepassi7+717-210
2026-05-15 01:42RA phase 0 metrics and guardrailsRyan Sepassi4+231-20
2026-05-15 01:34RA planRyan Sepassi1+740-0
2026-05-15 00:53Document run JIT perf and compile metricsRyan Sepassi5+351-1
2026-05-15 00:45Avoid duplicate segment copies in JITRyan Sepassi2+53-5
2026-05-15 00:34Add scoped timing metrics for run JIT pathRyan Sepassi10+245-1
2026-05-15 00:33link: make section grouping linearRyan Sepassi1+66-22
2026-05-14 23:55Test O1 on x64 and rv64Ryan Sepassi13+318-22
2026-05-14 21:47Rewrite design documentRyan Sepassi1+222-901
2026-05-14 21:35opt: model asm and call hard-reg effectsRyan Sepassi3+374-10
2026-05-14 21:15opt: fold safe single-use post-RA operandsRyan Sepassi3+568-5
2026-05-14 20:14Tighten O1 combine and DCERyan Sepassi3+494-12
2026-05-14 20:13Consolidate arch files into subdirsRyan Sepassi59+6196-6216
2026-05-14 20:03Route arch helpers through descriptorsRyan Sepassi9+172-106
2026-05-14 19:55Move linker arch cases behind descriptorRyan Sepassi10+252-383
2026-05-14 19:52Track exact simple regalloc usageRyan Sepassi5+56-17
2026-05-14 19:47Remove backend allocator pool stateRyan Sepassi13+135-149
2026-05-14 19:36Route object relocation formats through arch descriptorsRyan Sepassi10+123-72
2026-05-14 19:26Route ABI selection through arch descriptorsRyan Sepassi6+43-27
2026-05-14 19:26Improve O1 live info for regallocRyan Sepassi4+336-26
2026-05-14 19:20Add internal arch registration descriptorRyan Sepassi10+156-78
2026-05-14 19:13opt: add natural loop tree for O1Ryan Sepassi4+322-10
2026-05-14 19:06Move CG register allocation out of CGTargetRyan Sepassi18+229-178
2026-05-14 18:40Factor simple backend register allocatorRyan Sepassi13+359-270
2026-05-14 18:14opt: prune unreachable blocks in CFGRyan Sepassi2+175-0
2026-05-14 17:50Wire opt level into CG target creationRyan Sepassi5+35-5
2026-05-14 17:49Expose frontend support API for CRyan Sepassi38+1709-1533
2026-05-14 17:25Refactor DWARF reader into debug moduleRyan Sepassi23+4156-4262
2026-05-14 17:15Remove src include path from C frontend buildRyan Sepassi7+4-283
2026-05-14 17:04Move assembler parsing under src/asmRyan Sepassi20+1983-1230
2026-05-14 16:52Remove C Type dependencies from srcRyan Sepassi69+1189-1878
2026-05-14 16:11Remove legacy cg implementationRyan Sepassi51+665-12937
2026-05-14 14:28Add CG type registryRyan Sepassi4+995-109
2026-05-14 12:39Port C frontend to public CG APIRyan Sepassi53+6916-5634
2026-05-14 03:24Add neutral CG backend migration planRyan Sepassi1+286-0
2026-05-14 03:24TOY.md specRyan Sepassi2+839-623
2026-05-13 22:08Expand toy CG API coverageRyan Sepassi7+638-60
2026-05-13 19:15Update impl + toy to new CG apiRyan Sepassi4+1096-574
2026-05-13 18:59CG api updatesRyan Sepassi2+724-206
2026-05-13 17:59cg-ext.md planRyan Sepassi1+551-0
2026-05-13 17:21Update cg impl + toy to the new cg apiRyan Sepassi7+600-221
2026-05-13 17:04Redesign public CG APIRyan Sepassi1+302-173
2026-05-13 16:11toy-todo.md planRyan Sepassi1+623-0
2026-05-13 14:44Validate AArch64 SP and ZR asm operandsRyan Sepassi2+73-0
2026-05-13 14:41Complete Cg inline asm API coverageRyan Sepassi6+264-24
2026-05-13 14:25Expand toy CG API coverageRyan Sepassi8+328-35
2026-05-13 11:33Implement planned CG API updatesRyan Sepassi7+724-418
2026-05-13 11:08docs: clarify CG API status and planRyan Sepassi1+256-162
2026-05-13 10:03Complete public CG API wrappersRyan Sepassi12+987-52
2026-05-13 05:33Expand CG API status TODOsRyan Sepassi1+27-3
2026-05-13 05:29Complete public CG API toy coverageRyan Sepassi35+1351-115
2026-05-13 03:58Implement CfreeCg public codegen API driving CGTarget directlyRyan Sepassi2+1412-5
2026-05-13 02:00toy: use structured scopes, unop, fix call stack order and store dropsRyan Sepassi1+880-58
2026-05-13 02:00cg api: add unop, va_list, extended intrinsics, structured scope results, push_int uint64_t, remove is_unionRyan Sepassi4+230-22
2026-05-13 00:12cg type allocatorRyan Sepassi7+584-2
2026-05-12 23:44cfree/cg.h and lang/toyRyan Sepassi12+818-29
2026-05-12 22:10Refactor setjmp longjmp as intrinsicsRyan Sepassi15+66-125
2026-05-12 21:54LANGS.md planRyan Sepassi1+456-0
2026-05-12 21:54opt: generic register coordination via CGTarget hooksRyan Sepassi17+853-192
2026-05-12 14:25Implement OPT1 lowering and allocationRyan Sepassi7+1350-31
2026-05-12 05:28TAILCALL.md planRyan Sepassi1+234-0
2026-05-12 01:36PROF.md planRyan Sepassi1+392-0
2026-05-12 01:24OPT.md plan updateRyan Sepassi1+601-420
2026-05-12 01:16extract sha256 (codesign)Ryan Sepassi3+133-113
2026-05-12 00:44jit/macho: cfree-owned TLV thunk so _Thread_local works under cfree runRyan Sepassi16+626-79
2026-05-12 00:18Preprocess .S inputs in assembler driverRyan Sepassi1+55-8
2026-05-12 00:17Move runtime make rules into rt makefileRyan Sepassi2+243-275
2026-05-12 00:02Parallelize parse cg and elf test harnessesRyan Sepassi4+760-305
2026-05-11 23:55asm: support file-scope global asmRyan Sepassi9+158-22
2026-05-11 23:51stage2: R1–R7 rt-ingest fixes (5/8 rt sources compile under cfree)Ryan Sepassi26+397-93
2026-05-11 23:10link/macho: coalesce same-named sections into one section_64 per (segname,sectname)Ryan Sepassi2+165-52
2026-05-11 22:56obj: emit Mach-O TLV descriptors so cfree-compiled _Thread_local worksRyan Sepassi7+359-180
2026-05-11 22:15refactor: split six >2KLOC files into focused modulesRyan Sepassi29+18546-20038
2026-05-11 21:42parse: accept _Thread_local; route TLS objects through tls_addr_ofRyan Sepassi6+73-1
2026-05-11 21:23link/macho: set MH_HAS_TLV_DESCRIPTORS so dyld registers TLV pthread keysRyan Sepassi4+59-53
2026-05-11 21:17dbg: copy CfreeDbgSignalOps in signals_install, not the caller pointerRyan Sepassi1+11-7
2026-05-11 20:52stage2: standalone link probe + STAGE2/MACHO notesRyan Sepassi4+156-133
2026-05-11 20:50obj: coalesce same-named sections; add obj_align_to for intra-section paddingRyan Sepassi7+93-28
2026-05-11 20:49link/macho: TLV section + ARM64_RELOC_TLVP_LOAD_PAGE21/PAGEOFF12Ryan Sepassi8+388-18
2026-05-11 20:07dbg: multi-input cfree_jit_view + DWARF suffix-match / degradationRyan Sepassi8+713-141
2026-05-11 19:49test/cg q05: accumulate into r_int to fit x64 INT poolRyan Sepassi1+10-5
2026-05-11 19:42cg: imm-form encodings for x64 and rv64 binop/unopRyan Sepassi2+228-16
2026-05-11 19:29cg: pre-SSA peephole — constant fold + aarch64 imm-form encodingsRyan Sepassi6+569-24
2026-05-11 19:17STAGE2.md plan updateRyan Sepassi1+163-85
2026-05-11 18:49cg fix INDIRECT reg leakRyan Sepassi1+5-2
2026-05-11 18:46jit: close out reloc-apply gaps from doc/JIT.mdRyan Sepassi7+479-129
2026-05-11 18:44driver: share .c/.o/.a/stdin input handling between run and dbgRyan Sepassi5+402-252
2026-05-11 18:41parse: fix sizeof/alignof expr forms + block-scope static[] inferenceRyan Sepassi7+88-13
2026-05-11 18:30test/parse/run.sh fixup -I for cfree-roundtrip.cRyan Sepassi1+1-1
2026-05-11 18:29asm/inline: complete end-to-end TODOs from doc/ASM.md §6Ryan Sepassi10+375-57
2026-05-11 18:27cg/arch: handle OPK_INDIRECT in call-arg + return pathsRyan Sepassi18+476-72
2026-05-11 18:25parse: land STAGE2 B1-B6 — alignof alias, ctz, addr-const + array-init gapsRyan Sepassi25+253-48
2026-05-11 18:03run: fix cfree run JIT runner — pipeline lifetime, dlsym mangling, synthetic argv[0]Ryan Sepassi3+174-21
2026-05-11 17:59pp: search includer's directory first for quoted #includeRyan Sepassi1+68-9
2026-05-11 17:53api: implement cfree_dep_iter_new/_next over SourceManagerRyan Sepassi3+64-17
2026-05-11 17:45dbg: implement cfree_jit_view + image/runtime PC translationRyan Sepassi8+464-14
2026-05-11 17:38ASM.md plan updateRyan Sepassi2+215-955
2026-05-11 16:58asm/inline: integration — wire AsmConstraint.type through binder + walkerRyan Sepassi7+111-32
2026-05-11 16:42asm/inline: track C — aa64 backend (template walker + aa_asm_block)Ryan Sepassi7+617-12
2026-05-11 16:38asm/inline: track B — cg_inline_asm binder + opt recorder/replayRyan Sepassi5+840-23
2026-05-11 16:47asm/inline: track A — frontend parser for asm() statementsRyan Sepassi4+346-0
2026-05-11 17:20STAGE2.md planRyan Sepassi1+154-0
2026-05-11 17:19dbg: JIT debugger — session, displaced single-step, REPL wire-upRyan Sepassi15+2528-116
2026-05-11 16:59attr: phase-2 PR-Z — parser wire-up + weak-undef JITRyan Sepassi4+234-721
2026-05-11 16:19attr: phase-2 W1–W4 — honor packed/aligned/section/used/weak/visibility/alias/noreturnRyan Sepassi5+214-27
2026-05-11 16:16INLINEASM.md planRyan Sepassi2+333-11
2026-05-11 16:05attr: phase-2 PR-0 — interface seed, plan doc, drafted testsRyan Sepassi29+718-65
2026-05-11 15:54asm: phase-3 + phase-4a — standalone .s assembler + disassembler overlayRyan Sepassi20+2703-156
2026-05-11 15:41parse: __attribute__((...)) parsing — Phase 1 carriers, no codegenRyan Sepassi23+977-29
2026-05-11 15:31test/parse: sizeof / nonzero subscript on direct string literalRyan Sepassi4+17-0
2026-05-11 15:25asm: phase-2 ISA descriptor table — AsmFlags, aliases, format backfillRyan Sepassi8+1144-105
2026-05-11 15:10parse: fuse adjacent string literals at the pp-pull boundaryRyan Sepassi5+133-4
2026-05-11 14:56asm: phase-1 test harness scaffolding (test/asm + cg path S)Ryan Sepassi17+1507-30
2026-05-11 14:54parse: aggregate-by-value params and returns — 2-reg DIRECT and INDIRECT copyRyan Sepassi21+226-19
2026-05-11 14:34link: LinkArchDesc vtable + obj-format C-name policy + ISA encoder liftsRyan Sepassi23+996-213
2026-05-11 12:37libc: rv64/x64 GOT codegen + PIE link plumbing — full 10-cell test-libc greenRyan Sepassi14+475-23
2026-05-11 03:15libc: Linux hosted shim + test-libc 9-cell matrix (musl/glibc × x64/aa64/rv64)Ryan Sepassi11+790-140
2026-05-11 02:41arch/aa64: GOT addressing for extern data on Mach-O; build hosted shim with cfreeRyan Sepassi6+141-29
2026-05-11 01:56parse: route &&/|| result through a temp slot so if-cond sees merged valueRyan Sepassi2+62-13
2026-05-11 01:37libc: platform-agnostic headers + macOS hosted shim + test-libc harnessRyan Sepassi34+1201-7
2026-05-10 23:07link/macho: test-link Path E green on aa64-macho — 103/103Ryan Sepassi3+177-21
2026-05-10 23:06x64 codegen completeRyan Sepassi3+1007-306
2026-05-10 22:30link/macho: test-link Path E on aa64-macho — 101/103 passingRyan Sepassi13+476-111
2026-05-10 22:13arch/x64: codegen for Linux ELF — A–D spine + most of E–H, P, QRyan Sepassi4+2172-254
2026-05-10 21:58doc: rm 7 stale design docs + strip stale referencesRyan Sepassi26+28-2298
2026-05-10 21:51parse: clear all 20 §6.2–§6.9 status-list failuresRyan Sepassi2+593-617
2026-05-10 21:47link/x64: test-link green — PLT32, 32S, TLS LE, ifunc stubRyan Sepassi4+61-6
2026-05-10 21:32link/macho: dyld-loadable MH_EXECUTE writer + .tbd / dylib DSO inputsRyan Sepassi12+2784-35
2026-05-10 21:04build/driver: make self target + filename in diagnosticsRyan Sepassi12+202-42
2026-05-10 20:57test/parse: §6.2–§6.9 corpus expansion — 80 new rows + status sweepRyan Sepassi164+494-11
2026-05-10 20:38arch/cg: thread RegClass through free_regRyan Sepassi6+48-34
2026-05-10 20:29link/rv64: TLS LE — clamp SF_TLS PT_LOAD memsz to fileszRyan Sepassi3+29-25
2026-05-10 20:23link/test: Mach-O read + JIT — test-link path R+J green on aa64-machoRyan Sepassi12+203-24
2026-05-10 20:19arch/rv64: variadic save area atop frame, contiguous with stack argsRyan Sepassi2+46-61
2026-05-10 20:12cg/parse: C atomics — full aarch64 lowering + CAS/fence parser surfaceRyan Sepassi30+357-28
2026-05-10 20:09arch/abi/cg: rv64 — real LP64D codegen mirroring aa64Ryan Sepassi9+2969-248
2026-05-10 19:59obj/test: macho roundtrip — fix read/emit fidelity, wire test-link path RRyan Sepassi11+420-31
2026-05-10 19:58parse/cg: variadic lowering + FP arithmetic dispatchRyan Sepassi31+389-41
2026-05-10 19:16link: rv64 — reloc applies, ifunc stub, kernel_image case + per-arch harnessRyan Sepassi9+491-51
2026-05-10 19:09parse: array-size cexpr, sizeof unary, bitfield as storage unitRyan Sepassi1+22-21
2026-05-10 19:07obj/abi: MULTIOBJ Phase 2 — Mach-O writer/reader (MH_OBJECT, arm64)Ryan Sepassi16+1711-187
2026-05-10 18:53parse: Phase 9 — __builtin_* / __atomic_* routingRyan Sepassi14+375-21
2026-05-10 18:46ASM.md planRyan Sepassi1+487-0
2026-05-10 18:44obj/abi/link: MULTIOBJ Phase 1 — Mach-O seams + planRyan Sepassi14+1190-80
2026-05-10 18:37parse: Phase 8 — qualifiers, alignment, typedefsRyan Sepassi4+316-41
2026-05-10 18:31obj: ELF x64 — TLS and GOT-relax reloc coverageRyan Sepassi4+96-0
2026-05-10 18:28obj: ELF rv64 — full reloc coverage, e_flags round-tripRyan Sepassi9+278-3
2026-05-10 18:22parse: Phase 7 — type breadth, conversions, suffix-typed literalsRyan Sepassi6+281-31
2026-05-10 18:20test: parameterize harnesses by CFREE_TEST_ARCHRyan Sepassi20+308-107
2026-05-10 17:55arch/abi/obj: MULTIARCH Phase 2 — rv64 stubsRyan Sepassi13+730-5
2026-05-10 17:52parse: Phase 6 — initializers (designators, string init, compound literals)Ryan Sepassi3+538-53
2026-05-10 17:46test: fix path-E exec on Darwin and trim default opt-levelsRyan Sepassi2+26-14
2026-05-10 17:41arch/abi/obj: MULTIARCH Phase 2 — multi-arch seams + x64 stubsRyan Sepassi21+964-214
2026-05-10 17:35parse: Phase 5 — switch, goto, do-while, labelsRyan Sepassi3+305-15
2026-05-10 17:34test: MULTIARCH Phase 1 — per-arch exec helper, x64 smokeRyan Sepassi9+737-155
2026-05-10 17:24opt: Phase 3 — IR-native recording, SSA construction, dry-runRyan Sepassi7+1966-1716
2026-05-10 16:10parse: Phase 4 — globals, storage classes, linkage, static localsRyan Sepassi3+378-24
2026-05-10 15:53parse: Phase 3 — struct/union/enum, member access, _GenericRyan Sepassi5+921-37
2026-05-10 14:20cg: CG-driven spill/reload on a finite physical-register poolRyan Sepassi7+1048-328
2026-05-10 13:14test: print pass/fail summary as the last line in every run scriptRyan Sepassi12+54-43
2026-05-10 13:03parse: Phase 2 — pointer/array decls, decay, subscript, brace init, VLARyan Sepassi4+599-80
2026-05-10 12:26parse: Phase 1 — calls, params, multi-fn TUs, &&/||/?:, sizeof/castRyan Sepassi5+1293-212
2026-05-10 12:23opt: record-replay wrapper + tape printer + constfold (phases 0-2)Ryan Sepassi5+2164-158
2026-05-10 04:46test/parse: extend corpus to §6.2–§6.9 + builtins, clang-verifiedRyan Sepassi176+781-0
2026-05-10 03:42test/parse: author corpus cases for §6.5–§6.9Ryan Sepassi109+216-0
2026-05-10 01:37parse/cg/decl: scaffold C front-end vertical, pass spine corpusRyan Sepassi6+2346-28
2026-05-10 01:01link: place .dynamic in a PF_R+W segment for glibc compatibilityRyan Sepassi3+66-37
2026-05-10 01:00link: linker script support (kernel.lds subset) + case 35Ryan Sepassi17+1600-50
2026-05-10 00:43test: batch path-E podman runs and cache start.oRyan Sepassi4+469-160
2026-05-10 00:42test/libc: split harness into shared cases + musl/glibc runnersRyan Sepassi21+746-355
2026-05-10 00:22dwarf: producer + consumer + path-W harness (phases 0-3)Ryan Sepassi34+8493-199
2026-05-10 00:20link: dynamic linking phase 5 (PLT body + import-reloc rewriting)Ryan Sepassi5+486-797
2026-05-10 00:09OPT.md planRyan Sepassi1+437-0
2026-05-09 23:59test/parse: scaffold file-driven C parser harnessRyan Sepassi18+1088-2
2026-05-09 23:47link: dynamic linking phases 4+6 (synthetic dyn-tables, ET_DYN emit)Ryan Sepassi8+1499-98
2026-05-09 23:23DWARF planRyan Sepassi1+689-0
2026-05-09 23:22link: dynamic linking phases 1-3 (DSO read, driver, resolve)Ryan Sepassi15+914-183
2026-05-09 23:15test/cg: scaffold Group P (set_loc/debug) + W pathRyan Sepassi7+455-7
2026-05-09 23:03make formatRyan Sepassi186+32505-30653
2026-05-09 22:58musl dynamic link testRyan Sepassi3+595-44
2026-05-09 22:58link: STT_GNU_IFUNC in static ET_EXEC via libcfree_rt preinitRyan Sepassi10+272-116
2026-05-09 22:56cg/aa64: implement Groups J, K, L (varargs, atomics, intrinsics)Ryan Sepassi2+751-33
2026-05-09 22:46core: introduce SegVec; migrate typed object/image/linker tablesRyan Sepassi11+878-501
2026-05-09 22:36cg/aa64: implement Groups N, O, Q (TLS, globals, multi-function)Ryan Sepassi2+172-8
2026-05-09 22:21test/cg: register Groups N, O, Q (TLS, globals, multi-function)Ryan Sepassi6+1316-3
2026-05-09 22:17cg/aa64: implement Groups G, H, I (calls, control flow, alloca)Ryan Sepassi1+279-49
2026-05-09 22:15test/cg: register Groups J, K, L (varargs, atomics, intrinsics)Ryan Sepassi6+1392-3
2026-05-09 22:14core: extract bytes/util/vec/hashmap and zalloc/buf-walk helpersRyan Sepassi22+507-610
2026-05-09 22:01test/cg: split cases.c into per-group filesRyan Sepassi14+3535-3336
2026-05-09 21:49test/cg: register Groups G, H, I (calls, control flow, alloca)Ryan Sepassi4+2005-17
2026-05-09 21:47link: TLS local-exec, IFUNC, and exe symtab / build-id / .eh_frameRyan Sepassi14+1435-166
2026-05-09 21:36cg/aa64: implement Groups D, E, F (control flow, conv, memory)Ryan Sepassi2+454-18
2026-05-09 21:23test/cg: register Groups D, E, F (compare/branch, conv, memory)Ryan Sepassi2+963-3
2026-05-09 21:07cg/aa64: bring up frames, params, calls, FP — pass Groups A/B/CRyan Sepassi2+985-132
2026-05-09 21:06link: static musl on aarch64 — link, run, helloRyan Sepassi18+624-150
2026-05-09 20:36arch/aa64: factor encodings into shared ISA descriptorsRyan Sepassi3+476-85
2026-05-09 20:13link: implement --gc-sections (entry/init-fini/RETAIN/start-stop roots)Ryan Sepassi40+678-78
2026-05-09 20:10cg: bring up type/abi spine and pass Group A on AArch64Ryan Sepassi7+783-17
2026-05-09 19:49test/cg: expand A/B/C corpus; harness now drives real type+abi APIsRyan Sepassi5+1262-287
2026-05-09 19:43link: archive ingestion, static GOT, and ar BSD long-name fixRyan Sepassi8+646-106
2026-05-09 19:24obj: preserve format-specific sh_type/sh_flags across roundtripRyan Sepassi5+64-14
2026-05-09 19:24test/elf: expand corpus across reloc, section, symbol, and bad/ axesRyan Sepassi46+478-0
2026-05-09 19:22cg: add cg_tail_call and CG_CALL_TAIL flag on CGCallDescRyan Sepassi2+20-0
2026-05-09 19:18test-link: add filters, per-path timing; fix slow podman exec pathRyan Sepassi1+48-17
2026-05-09 19:09test-link: move negative tests to bad/ dir; drop link_fail markerRyan Sepassi6+130-50
2026-05-09 19:07elf: aarch64 TLSLE reloc roundtrip supportRyan Sepassi4+59-0
2026-05-09 19:04test-elf: scope to ELF fidelity only; fix test-link R-path no-opRyan Sepassi20+113-660
2026-05-09 18:56elf: fix 09_ifunc, 13_comdat, mark 06_tls xfailRyan Sepassi7+108-4
2026-05-09 18:43execmem: dual-mapping JIT regions for strict W^XRyan Sepassi6+525-95
2026-05-09 18:17test-ar-driverRyan Sepassi9+205-2
2026-05-09 18:14ar verbose supportRyan Sepassi2+91-32
2026-05-09 18:08driver --helpRyan Sepassi9+644-51
2026-05-09 18:01lib: route exec memory and current-time through host CfreeEnv vtablesRyan Sepassi11+362-81
2026-05-09 17:53emu: implement cfree_emu_run/new/step/lookup/free with stubbed depsRyan Sepassi12+1462-15
2026-05-09 17:46link: advance JIT/exec linker; fix build staleness masking test resultsRyan Sepassi15+531-67
2026-05-09 17:35emu: scaffold cfree emu driver and stubbed public APIRyan Sepassi5+362-1
2026-05-09 16:58test/cg: scaffold codegen test harness and minimal AArch64 backendRyan Sepassi13+2107-9
2026-05-09 16:02test/link: add unified linker and JIT behavioral test corpusRyan Sepassi60+1123-4
2026-05-09 15:32pp: implement C11 preprocessor (translation phase 4)Ryan Sepassi5+2894-23
2026-05-09 14:01test/pp: rewrite corpus as layered, clang-validated suiteRyan Sepassi206+733-41
2026-05-09 12:00test/elf: extend corpus with symbol, section, and behavioral casesRyan Sepassi29+624-36
2026-05-09 11:30lex: implement line splicing and header-name lexingRyan Sepassi4+142-20
2026-05-09 11:15driver: update ar, cc, ld subcommands and MakefileRyan Sepassi4+212-11
2026-05-09 11:15api: add ar, detect, lifecycle, stubs, writer_mem; update pipelineRyan Sepassi7+1941-345
2026-05-09 11:15link: add linker with ELF, JIT, layout, and reloc supportRyan Sepassi6+1792-0
2026-05-09 11:15obj: add ELF read/emit and object file support with ELF testsRyan Sepassi23+3026-0
2026-05-09 11:15lex: add lexer implementation and lex/pp testsRyan Sepassi52+1812-0
2026-05-09 11:15core: add arena, buf, diag, pool, source implementationsRyan Sepassi8+827-8
2026-05-09 00:24C11 std docsRyan Sepassi4+12375-0
2026-05-09 00:23DESIGN.md updateRyan Sepassi1+27-9
2026-05-09 00:19src: pipeline and link updatesRyan Sepassi2+314-386
2026-05-09 00:19driver: subcommand updatesRyan Sepassi9+1528-291
2026-05-09 00:19include: API updatesRyan Sepassi1+393-144
2026-05-08 23:59driver: cflags/lib_resolve/target split, dbg subcommand, expanded ld/cc/objdumpRyan Sepassi14+3966-446
2026-05-08 23:59src: JIT session, debug info, target pic/code-model plumbingRyan Sepassi10+716-99
2026-05-08 23:59include/cfree.h: JIT sessions, debug info, target pic/code-modelRyan Sepassi1+637-17
2026-05-08 13:03cfree_obj_open/query, cfree_ar_iter, cfree_detect_fmt; driver objdump + arRyan Sepassi15+1272-43
2026-05-08 05:50driver wired to cfree_run; libc isolated to env.cRyan Sepassi9+803-81
2026-05-08 04:37include/cfree.h public API + driver/ splitRyan Sepassi23+1392-795
2026-05-08 01:34rt/MakefileRyan Sepassi8+214-225
2026-05-08 00:52driver/pipeline.h,cRyan Sepassi19+945-101
2026-05-08 00:39Create rt/ dirRyan Sepassi61+0-0
2026-05-07 21:52DESIGN.md and interfacesRyan Sepassi34+3106-157
2026-05-07 21:10stdcoro asymmetric coro_tRyan Sepassi14+403-160
2026-05-07 20:47setjmp.h stdcoro.hRyan Sepassi14+1548-40
2026-05-07 20:14setjmp.hRyan Sepassi3+40-0
2026-05-07 18:32lib/ consolidation into fewer files and exhaustive build.sh via clangRyan Sepassi151+4042-5163
2026-05-07 18:15make compiler-rt templates re-includable; add build.shRyan Sepassi59+1205-138
2026-05-07 17:29READMERyan Sepassi1+25-0
2026-05-07 17:27compiler_rtRyan Sepassi155+7597-0
2026-05-07 16:22assert.h, stdatomic.hRyan Sepassi5+387-100
2026-05-07 16:05cfree assumptionsRyan Sepassi5+227-242
2026-05-07 15:49cfree freestanding headersRyan Sepassi11+596-0