fix(perf): propagate NYASH_AOT_NUMERIC_CORE env vars to hakorune_emit_mir.sh
## Problem
Phase 25 numeric_core transformation wasn't working in microbench.sh:
- NYASH_AOT_NUMERIC_CORE=1 was set by user externally
- But wasn't propagated to hakorune_emit_mir.sh
- Result: BoxCall(mul_naive) remained instead of Call("NyNumericMatI64.mul_naive")
## Solution
Add explicit env var propagation in microbench.sh (line 933-934):
```bash
NYASH_AOT_NUMERIC_CORE="${NYASH_AOT_NUMERIC_CORE:-0}" \
NYASH_AOT_NUMERIC_CORE_TRACE="${NYASH_AOT_NUMERIC_CORE_TRACE:-0}" \
```
This ensures user-set NYASH_AOT_NUMERIC_CORE is passed through to:
hakorune_emit_mir.sh → Provider → AotPrep → numeric_core.hako
## Verification
Tested with:
```bash
NYASH_AOT_NUMERIC_CORE=1 tools/perf/microbench.sh --case matmul_core --backend llvm --exe --runs 1 --n 4
```
Now transformation works correctly (pending numeric_core phi propagation fix).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -930,6 +930,8 @@ if [[ "$EXE_MODE" = "1" ]]; then
|
||||
HAKO_MIR_BUILDER_LOOP_FORCE_JSONFRAG="${HAKO_MIR_BUILDER_LOOP_FORCE_JSONFRAG:-$([[ "${PERF_USE_JSONFRAG:-0}" = 1 ]] && echo 1 || echo 0)}" \
|
||||
HAKO_MIR_BUILDER_JSONFRAG_NORMALIZE="${HAKO_MIR_BUILDER_JSONFRAG_NORMALIZE:-1}" \
|
||||
HAKO_MIR_BUILDER_JSONFRAG_PURIFY="${HAKO_MIR_BUILDER_JSONFRAG_PURIFY:-1}" \
|
||||
NYASH_AOT_NUMERIC_CORE="${NYASH_AOT_NUMERIC_CORE:-0}" \
|
||||
NYASH_AOT_NUMERIC_CORE_TRACE="${NYASH_AOT_NUMERIC_CORE_TRACE:-0}" \
|
||||
NYASH_ENABLE_USING=1 HAKO_ENABLE_USING=1 \
|
||||
NYASH_JSON_ONLY=1 bash "$ROOT/tools/hakorune_emit_mir.sh" "$HAKO_FILE" "$TMP_JSON" 2>&1 | tee /tmp/matmul_emit_log.txt | grep -E "\[prep:|provider/emit\]" >&2; then
|
||||
echo "[FAIL] emit MIR JSON failed (hint: set PERF_USE_PROVIDER=1 or HAKO_MIR_BUILDER_LOOP_FORCE_JSONFRAG=1)" >&2; exit 3
|
||||
|
||||
Reference in New Issue
Block a user