code wiki / (root) / riscv.nx

riscv.nx

buildroot/runtime/riscv.nx

1554 B28 linesdepth 5pulls 7 transitivereach 12 importersview sourcekind librarytopic riscv
docsdependenciesstructsconstsfunctions

about

riscv.nx -- alias stub. Migration to the nx_-prefixed canonical name nx_riscv.nx. Consumers via `import "riscv.nx"` resolve to nx_riscv.nx through NishiLang's textual import splicing with path dedup (runtime/import.nx I1), the same mechanism types.nx / ir.nx / outbuf.nx / regalloc.nx already use. WHY THIS FILE IS NOW A STUB (2026-07-13): the pre-migration riscv.nx was a full 67 KB DUPLICATE of the RV64 backend that had diverged from nx_riscv.nx and was missing two correctness fixes the canonical copy carries: - F14 VL_ALLOCA rematerialisation (materialise() kind==3 -> emits `addi scratch, sp, off` at each use; fixes loop-carried alloca clobber -- the nested-loop miscompile). - OP_ADDR_OF (address-of-local; `let p = &x` -> materialise x's address into the result home; fixes pointer-to-local miscompile). Both were caught by the nxc-vs-qemu-system-riscv64 differential oracle and proven fixed on the canonical backend (12/12 programs: golden sim == real QEMU == nx_cc reference). Keeping the divergent duplicate was the two-copies trap (nxc once imported this stale one); collapsing to a single source of truth eliminates it by construction. Path dedup means a file may import BOTH names with no duplicate-symbol error. Deprecation: delete this stub when every "riscv.nx" consumer (main.nx, smoke_nxc_pipeline*.nx, riscv*_test.nx, rvv_regname_test.nx, callee_save_test.nx, _offc_nxc_small.nx) has migrated to "nx_riscv.nx".

dependencies 1 imports · 12 importers

nx_riscv.nx riscv.nx _offc_nxc_small.nx callee_save_test.nx main.nx riscv_fp_test.nx riscv_test.nx rvv_regname_test.nx smoke_nxc_pipeline.nx smoke_nxc_pipeline10.nx smoke_nxc_pipeline2.nx smoke_nxc_pipeline7.nx

diagram shows first 10 each side; +0 more imports, +2 more importers in the complete lists below.

imports: nx_riscv.nx

imported by: _offc_nxc_small.nxcallee_save_test.nxmain.nxriscv_fp_test.nxriscv_test.nxrvv_regname_test.nxsmoke_nxc_pipeline.nxsmoke_nxc_pipeline10.nxsmoke_nxc_pipeline2.nxsmoke_nxc_pipeline7.nxsmoke_nxc_pipeline8.nxsmoke_nxc_pipeline9.nx

structs

none

consts

none

functions

none