lean4-htt/src/Lean/Compiler/LCNF
Henrik Böving 8b28467655
perf: better detection of repeated branching on same value (#11020)
This PR improves the detection of situations where we branch multiple
times on the same value in the
code generator. Previously this would only consider repeated branching
on function arguments, now on
arbitrary values.


Closes: #11018
2025-10-30 16:02:45 +00:00
..
Simp perf: better detection of repeated branching on same value (#11020) 2025-10-30 16:02:45 +00:00
AlphaEqv.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
AuxDeclCache.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
BaseTypes.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Basic.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Bind.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Check.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Closure.lean perf: during specialization, don't abstract all local fun decls under binders (#9596) 2025-07-28 17:36:43 +00:00
CompatibleTypes.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
CompilerM.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ConfigOptions.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
CSE.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
DeclHash.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
DependsOn.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
ElimDead.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
ElimDeadBranches.lean perf: widen more in ElimDeadBranches (#10856) 2025-10-27 09:12:16 +00:00
ExtractClosed.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
FixedParams.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
FloatLetIn.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
FVarUtil.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
InferType.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Internalize.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Irrelevant.lean feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
JoinPoints.lean perf: improve join point finding (#10999) 2025-10-30 15:05:11 +00:00
LambdaLifting.lean fix: more stable eager lambda lifting heuristic (#11010) 2025-10-29 13:58:23 +00:00
LCtx.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Level.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Main.lean perf: reduce amount of symbols in DLLs (#10864) 2025-10-21 09:00:56 +00:00
MonadScope.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
MonoTypes.lean feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
OtherDecl.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Passes.lean perf: improve join point finding (#10999) 2025-10-30 15:05:11 +00:00
PassManager.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
PhaseExt.lean chore: remove support for unused arity specification in ExternAttrData (#9552) 2025-07-25 21:23:56 +00:00
PrettyPrinter.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Probing.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
PullFunDecls.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
PullLetDecls.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ReduceArity.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ReduceJpArity.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Renaming.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
ScopeM.lean refactor: module-ize Lean (#9330) 2025-07-25 12:02:51 +00:00
Simp.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Specialize.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
SpecInfo.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
StructProjCases.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Testing.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ToDecl.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ToExpr.lean fix: overeager specialisation reuse in codegen (#10429) 2025-09-17 17:35:40 +00:00
ToLCNF.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ToMono.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Types.lean feat: zero cost BaseIO (#10625) 2025-10-22 10:55:12 +02:00
Util.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Visibility.lean chore: further shake improvements (#10947) 2025-10-26 11:27:19 +00:00