code wiki / _hdl_build / nx_selfix_test.nx

nx_selfix_test.nx

buildroot/runtime/_hdl_build/nx_selfix_test.nx

5652 B109 linesdepth 5pulls 8 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_selfix_test.nx -- the team SELF-FIXES across EVERY constant. It self-selects its strategy (shift-add chain for cheap constants, the imul it diagnosed it lacked for the ones the chain can't reach), emits the choice, VERIFIES it 1:1 by execution, costs it, and races the best of {gcc, clang} by COST. The point: the chain generator's GAPS are now closed by the team itself -- it diagnosed the missing op last loop and wields it this loop. Gate: every constant handled + verified by execution -> exit 0.

dependencies 3 imports · 0 importers

nx_selfix.nx nx_engineer_crash.nx nx_gcc_race.nx nx_selfix_test.nx

imports: nx_selfix.nxnx_engineer_crash.nxnx_gcc_race.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sf_main sf_puts gr_newest_gcc gr_exists sys_openat_rd sys_close sf_run sf_one selfix_emit mulchain_find mc_abs mc_enum se_emit_full se_str se_num se_emit_synth se_emit_imul_full se_str ↻ se_num ↻ sf_write sys_openat_wr eng_link sys_mmap sys_fork sys_openat_wr ↻ sys_dup3 sys_close ↻ sys_execve sys_exit sys_wait4 eng_run sys_mmap ↻ sys_fork ↻ sys_openat_wr ↻ sys_dup3 ↻ sys_close ↻ sys_execve ↻ sys_exit ↻ sys_wait4 ↻

structs

none

consts

none

functions

12func sf_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
13func sf_num(v: i64) -> i64
called by 1: sf_report calls 1: sf_puts
22func tally(r: *i64, n: i64) -> i64 { var ec: i64 = 0; var i: i64 = 0; while i < n { if r[i] != 1 { if ec == 0 { ec = i + 1 } } i = i + 1 } return ec }
called by 1: main
23func sf_write(path: *u8, buf: *u8, len: i64) -> i64 { let fd: i64 = sys_openat_wr(path, 0x1a4); if fd < 0 { return 0 - 1 } sys_write(fd, buf, len); sys_close(fd); return 0 }
called by 2: sf_build_csf_one calls 1: sys_openat_wr
24func sf_build_c(c: i64, path: *u8) -> i64
called by 1: sf_one calls 1: sf_write
36func sf_min(a: i64, b: i64) -> i64 { if b > 0 { if b < a { return b } } return a }
called by 1: sf_one
39func sf_one(c: i64, gccpath: *u8, res: *i64) -> i64
62func sf_run(ks: *i64, nk: i64, gccpath: *u8, mat: *i64, r: *i64) -> i64
called by 1: sf_main calls 1: sf_one
74func sf_report(ks: *i64, nk: i64, mat: *i64) -> i64
called by 1: sf_main calls 3: sf_putssf_numsfx_name
91func sf_main(r: *i64) -> i64
103func main() -> i64
calls 2: sf_maintally