code wiki / _hdl_build / nx_cap_detect_ir_candidate_t278.nx

nx_cap_detect_ir_candidate_t278.nx

buildroot/runtime/_hdl_build/nx_cap_detect_ir_candidate_t278.nx

4855 B112 linesdepth 4pulls 6 transitivereach 1 importersview sourcekind librarytopic cap
docsdependenciesstructsconstsfunctions

about

Read-only IR capacity facts for the existing janitor detector. Reuses compiler SSA, folded named constants and actual store widths. No source rewrite or range-based optimizer assumption. Unknown is explicit.

dependencies 1 imports · 1 importers

nx_ir.nx nx_cap_detect_ir_candidate_t27 nx_cap_detect_ir_gate_t278.nx

imports: nx_ir.nx

imported by: nx_cap_detect_ir_gate_t278.nx

structs

12struct JcIrValue {kind:i64,value:i64,extent:i64,origin:i64}
13struct JcIrAccess {state:i64,extent:i64,offset:i64,width:i64,origin:i64,address:i64}

consts

5const JC_IR_UNKNOWN:i64=0
6const JC_IR_SCALAR:i64=1
7const JC_IR_POINTER:i64=2
8const JC_IR_ACCESS_IN_RANGE:i64=1
9const JC_IR_ACCESS_OUT_OF_RANGE:i64=2
10const JC_IR_I64_MAX:i64=9223372036854775807
11const JC_IR_I64_MIN:i64=0-9223372036854775807-1

functions

14func jc_ir_at(rows:*JcIrValue,id:i64)->*JcIrValue{return ((rows as i64)+id*__size_of(JcIrValue)) as *JcIrValue}
15func jc_ir_add(a:i64,b:i64,out:*i64)->i64
called by 2: jc_ir_valuesmain
20func jc_ir_mul(a:i64,b:i64,out:*i64)->i64
called by 2: jc_ir_valuesmain
26func jc_ir_name(f:*Function,s:*u8)->i64
called by 1: main
32func jc_ir_valid(f:*Function,id:i64)->i64{if id<0{return 0};if id>=f.n_values{return 0};return 1}
33func jc_ir_values(f:*Function,allocation_contract:*Function)->*JcIrValue
95func jc_ir_store(f:*Function,rows:*JcIrValue,ins:*Instr,out:*JcIrAccess)->i64
called by 1: main calls 2: jc_ir_validjc_ir_at