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
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
imports: nx_ir.nx
imported by: nx_cap_detect_ir_gate_t278.nx
structs
| 12 | struct JcIrValue {kind:i64,value:i64,extent:i64,origin:i64} |
| 13 | struct JcIrAccess {state:i64,extent:i64,offset:i64,width:i64,origin:i64,address:i64} |
consts
| 5 | const JC_IR_UNKNOWN:i64=0 |
| 6 | const JC_IR_SCALAR:i64=1 |
| 7 | const JC_IR_POINTER:i64=2 |
| 8 | const JC_IR_ACCESS_IN_RANGE:i64=1 |
| 9 | const JC_IR_ACCESS_OUT_OF_RANGE:i64=2 |
| 10 | const JC_IR_I64_MAX:i64=9223372036854775807 |
| 11 | const JC_IR_I64_MIN:i64=0-9223372036854775807-1 |
functions
| 14 | func jc_ir_at(rows:*JcIrValue,id:i64)->*JcIrValue{return ((rows as i64)+id*__size_of(JcIrValue)) as *JcIrValue} |
| 15 | func jc_ir_add(a:i64,b:i64,out:*i64)->i64 |
| 20 | func jc_ir_mul(a:i64,b:i64,out:*i64)->i64 |
| 26 | func jc_ir_name(f:*Function,s:*u8)->i64 called by 1: main |
| 32 | func jc_ir_valid(f:*Function,id:i64)->i64{if id<0{return 0};if id>=f.n_values{return 0};return 1} |
| 33 | func jc_ir_values(f:*Function,allocation_contract:*Function)->*JcIrValue |
| 95 | func jc_ir_store(f:*Function,rows:*JcIrValue,ins:*Instr,out:*JcIrAccess)->i64 |