66 lines
1.6 KiB
Markdown
66 lines
1.6 KiB
Markdown
|
|
# Phase 276 P0: Quick wins (LLVM harness maintainability)
|
||
|
|
|
||
|
|
Status: ✅ completed (2025-12-22)
|
||
|
|
|
||
|
|
This sheet documents what Phase 276 P0 targeted (and can be used to reproduce the intent for future refactors).
|
||
|
|
|
||
|
|
Reference completion:
|
||
|
|
- `docs/development/current/main/phases/phase-276/P0-COMPLETION.md`
|
||
|
|
|
||
|
|
Non-goals:
|
||
|
|
- pipeline unification / order drift fixes (tracked as Phase 279)
|
||
|
|
- new language features
|
||
|
|
- new env vars
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Task 1: Remove noisy debug leftovers
|
||
|
|
|
||
|
|
Target:
|
||
|
|
- `src/llvm_py/phi_wiring/wiring.py`
|
||
|
|
|
||
|
|
Acceptance:
|
||
|
|
- no stacktrace spam in normal runs
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Task 2: Consolidate PHI dst type lookup into SSOT
|
||
|
|
|
||
|
|
Create:
|
||
|
|
- `src/llvm_py/phi_wiring/type_helper.py`
|
||
|
|
|
||
|
|
Provide:
|
||
|
|
- `get_phi_dst_type(...)` (SSOT for “what is the intended type of this ValueId?”)
|
||
|
|
- `dst_type_to_llvm_type(...)` (SSOT for MIR dst_type → LLVM IR type)
|
||
|
|
|
||
|
|
Integrate (remove duplicate logic):
|
||
|
|
- `src/llvm_py/phi_wiring/tagging.py`
|
||
|
|
- `src/llvm_py/llvm_builder.py`
|
||
|
|
- `src/llvm_py/phi_wiring/wiring.py`
|
||
|
|
|
||
|
|
Acceptance:
|
||
|
|
- the same ValueId gets the same effective type across these entry points
|
||
|
|
- adding a new MIR dst_type requires changing only `type_helper.py`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Task 3: Make PHI type mismatch visible
|
||
|
|
|
||
|
|
Target:
|
||
|
|
- `src/llvm_py/phi_wiring/wiring.py`
|
||
|
|
|
||
|
|
Policy:
|
||
|
|
- important mismatch warnings should be visible even without debug env vars
|
||
|
|
- keep the full trace behind the existing debug gate
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Task 4: Confirm the change does not regress existing smokes
|
||
|
|
|
||
|
|
Minimum:
|
||
|
|
- build still succeeds
|
||
|
|
- representative LLVM harness runs still pass (no new failures)
|
||
|
|
|
||
|
|
Note:
|
||
|
|
- If a failure points to “two pipelines / ordering drift”, treat it as Phase 279 scope.
|