lean4-htt/src/Lean/Compiler/IR
Henrik Böving b8c53b1d29
chore: remove IR elim dead branches (#11576)
This PR removes the old ElimDeadBranches pass and shifts the new one
past lambda lifting.

The reason for dropping the old one is its general unsoundness and the
fact that we want to do refactorings on the IR part. The reason for
shifting the current pass past lambda lifting, is that its analysis is
imprecise in the presence of local function symbols. I experimented with
the exact placement for a while and it seems like it is optimal here.
Overall we observe a slight regression in the amount of C code
generated, likely because we don't propagate information into lambdas
before lifting them anymore. But generally measure a slight performance
improvement in general.
2025-12-11 10:39:02 +00:00
..
AddExtern.lean fix: miscompilation resulting in minor memory leak on extern projections with unboxed arguments (#11383) 2025-11-26 19:27:43 +00:00
Basic.lean feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
Borrow.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Boxing.lean fix: boxing may have to correct let binder types (#11426) 2025-12-01 17:22:32 +00:00
Checker.lean chore: legitimize projections on tagged values (#11586) 2025-12-10 13:33:01 +00:00
CompilerM.lean chore: CI: enable leak sanitizer again (#11339) 2025-11-27 18:32:35 +00:00
ElimDeadVars.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
EmitC.lean fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
EmitLLVM.lean fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
EmitUtil.lean chore: clean up IR.Arg usage (#9557) 2025-07-26 00:22:38 +00:00
ExpandResetReuse.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Format.lean feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
FreeVars.lean refactor: use a state monad rather than combinators for computing free indices (#9711) 2025-08-04 13:55:41 +00:00
LiveVars.lean chore: fix spelling (#11531) 2025-12-06 13:54:27 +00:00
LLVMBindings.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Meta.lean chore: make declMetaExt persistent for shake (#11201) 2025-11-16 20:11:56 +00:00
NormIds.lean chore: remove unused FnBody.mdata constructor (#9564) 2025-07-26 15:20:13 +00:00
PushProj.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
RC.lean fix: RC dec insertion for unused variables (#10689) 2025-10-06 22:05:17 +00:00
ResetReuse.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
SimpCase.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Sorry.lean chore: replace partially redundant calls to FnBody.split with .body (#9568) 2025-07-26 20:18:37 +00:00
ToIR.lean feat: tagged_return attribute (#11530) 2025-12-08 10:55:46 +00:00
ToIRType.lean feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
Toposort.lean fix: toposort declarations to ensure proper constant initialization (#11388) 2025-11-26 18:17:17 +00:00
UnboxResult.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00