feat(llvm/phi): Phase 278 P0 - remove deprecated PHI debug env vars

## Changes
- debug_helper.py: Remove backward compatibility (warning → error + exit 1)
- environment-variables.md: Migrate deprecated section with migration guide
- phase278_p0_deprecated_env_fail.sh: Add smoke test for deprecated var detection

## Removed Variables (5)
- NYASH_LLVM_PHI_DEBUG
- NYASH_PHI_TYPE_DEBUG
- NYASH_PHI_ORDERING_DEBUG
- NYASH_LLVM_TRACE_PHI
- NYASH_LLVM_VMAP_TRACE

## SSOT Variables (3) - Unchanged
- NYASH_LLVM_DEBUG_PHI=1
- NYASH_LLVM_DEBUG_PHI_TRACE=1
- NYASH_LLVM_PHI_STRICT=1

## Benefits
-  Deprecated vars cause fail-fast error (not silent)
-  Error messages include replacement hints
-  Documentation reflects removal (migration guide included)
-  Smoke test verifies deprecated var rejection
-  No regressions in existing tests

## Testing
 Test 1: Deprecated NYASH_LLVM_PHI_DEBUG rejected
 Test 2: Deprecated NYASH_LLVM_TRACE_PHI rejected
 Test 3: SSOT vars work normally
 Regression tests: strict=OFF, strict=ON, debug mode - all pass

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-22 15:08:50 +09:00
parent 939efbca9b
commit 264940ef51
3 changed files with 72 additions and 20 deletions

View File

@ -95,18 +95,26 @@ NYASH_USE_STAGE1_CLI=1 STAGE1_EMIT_MIR_JSON=1 \
| `NYASH_LLVM_DEBUG_PHI_TRACE=1` | OFF | LLVM | PHI wiring詳細トレース、vmap変化の追跡 |
| `NYASH_LLVM_PHI_STRICT=1` | OFF | LLVM | PHI値解決時のゼロフォールバックを禁止厳格モード |
### 旧環境変数Phase 278で削除予定
### 旧環境変数Phase 278で削除完了
以下の環境変数は **Phase 277 P2** で統合されました。現在は後方互換性のため動作しますが、非推奨警告が表示されま
以下の環境変数は **Phase 277 P2** で統合され、**Phase 278 P0** で削除されました
**`NYASH_LLVM_DEBUG_PHI=1` に統合された変数:**
- `NYASH_LLVM_PHI_DEBUG` (旧一般デバッグ)
- `NYASH_PHI_TYPE_DEBUG` (旧型デバッグ)
- `NYASH_PHI_ORDERING_DEBUG` (旧順序デバッグ)
**エラーメッセージ**:
```bash
❌ ERROR: NYASH_LLVM_PHI_DEBUG was removed in Phase 278. Use NYASH_LLVM_DEBUG_PHI=1 instead.
```
**`NYASH_LLVM_DEBUG_PHI_TRACE=1` に統合された変数:**
- `NYASH_LLVM_TRACE_PHI` (旧トレース)
- `NYASH_LLVM_VMAP_TRACE` (旧vmapトレース)
**マイグレーション(移行方法)**:
| 旧変数 | 新変数SSOT |
| --- | --- |
| `NYASH_LLVM_PHI_DEBUG` | `NYASH_LLVM_DEBUG_PHI=1` |
| `NYASH_PHI_TYPE_DEBUG` | `NYASH_LLVM_DEBUG_PHI=1` |
| `NYASH_PHI_ORDERING_DEBUG` | `NYASH_LLVM_DEBUG_PHI=1` |
| `NYASH_LLVM_TRACE_PHI` | `NYASH_LLVM_DEBUG_PHI_TRACE=1` |
| `NYASH_LLVM_VMAP_TRACE` | `NYASH_LLVM_DEBUG_PHI_TRACE=1` |
**理由**: Phase 277 P2 で環境変数を 8個→3個 に統合。Phase 278 で後方互換性削除(スプロール防止)。
### 使用例