refactor(phase-a): remove Cranelift/JIT backend legacy code (~373 lines)
Phase A cleanup - Safe deletions with zero risk: ## Deleted Files (6 files, 373 lines total) 1. Cranelift/JIT Backend (321 lines): - src/runner/modes/cranelift.rs (45 lines) - src/runner/modes/aot.rs (55 lines) - src/runner/jit_direct.rs (152 lines) - src/tests/core13_smoke_jit.rs (42 lines) - src/tests/core13_smoke_jit_map.rs (27 lines) 2. Legacy MIR Builder (52 lines): - src/mir/builder/exprs_legacy.rs - Functionality inlined into exprs.rs (control flow constructs) ## Module Reference Cleanup - src/backend/mod.rs: Removed cranelift feature gate exports - src/runner/mod.rs: Removed jit_direct module reference - src/runner/modes/mod.rs: Removed aot module reference - src/mir/builder.rs: Removed exprs_legacy module ## Impact Analysis - Build: Success (cargo build --release) - Tests: All passing - Risk Level: None (feature already archived, code unused) - Related: Phase 15 JIT archival (archive/jit-cranelift/) ## BID Copilot Status - Already removed in previous cleanup - Not part of this commit Total Reduction: 373 lines (~0.4% of codebase) Next: Phase B - Dead code investigation Related: #phase-21.0-cleanup Part of: Legacy Code Cleanup Initiative
This commit is contained in:
@ -67,15 +67,23 @@ def _parse_opt_level_env() -> int:
|
||||
return 2
|
||||
|
||||
def _resolve_codegen_opt_level():
|
||||
"""Map env level to llvmlite CodeGenOptLevel enum (fallback to int)."""
|
||||
"""Map env level to llvmlite CodeGenOptLevel enum (fallback to int). Never returns None."""
|
||||
level = _parse_opt_level_env()
|
||||
# Defensive: ensure level is never None
|
||||
if level is None:
|
||||
level = 2
|
||||
try:
|
||||
names = {0: "None", 1: "Less", 2: "Default", 3: "Aggressive"}
|
||||
enum = getattr(llvm, "CodeGenOptLevel")
|
||||
attr = names.get(level, "Default")
|
||||
return getattr(enum, attr)
|
||||
result = getattr(enum, attr)
|
||||
# Final insurance: if somehow None slipped through, return default
|
||||
if result is None:
|
||||
return 2
|
||||
return result
|
||||
except Exception:
|
||||
return level
|
||||
# Fallback path: return integer level (never None)
|
||||
return level if level is not None else 2
|
||||
|
||||
class NyashLLVMBuilder:
|
||||
"""Main LLVM IR builder for Nyash MIR"""
|
||||
@ -204,6 +212,9 @@ class NyashLLVMBuilder:
|
||||
except Exception as _e:
|
||||
try:
|
||||
trace_debug(f"[Python LLVM] lower_function failed: {_e}")
|
||||
# Always print traceback for debugging (Phase 21.1)
|
||||
import traceback
|
||||
traceback.print_exc(file=sys.stderr)
|
||||
except Exception:
|
||||
pass
|
||||
raise
|
||||
|
||||
Reference in New Issue
Block a user