From 2f7f63243fbc7e4341e8b2825472d1980bc91235 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20B=C3=B6ving?= Date: Wed, 14 Jan 2026 21:05:02 +0100 Subject: [PATCH] perf: fast path for SCC decomposition (#12009) --- src/Lean/Compiler/LCNF/SplitSCC.lean | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Lean/Compiler/LCNF/SplitSCC.lean b/src/Lean/Compiler/LCNF/SplitSCC.lean index bcc222ab49..7b06e8a5a5 100644 --- a/src/Lean/Compiler/LCNF/SplitSCC.lean +++ b/src/Lean/Compiler/LCNF/SplitSCC.lean @@ -36,6 +36,8 @@ where end SplitScc public def splitScc (scc : Array Decl) : CompilerM (Array (Array Decl)) := do + if scc.size == 1 then + return #[scc] let declMap := Std.HashMap.ofArray <| scc.map fun decl => (decl.name, decl) let callers := Std.HashMap.ofArray <| ← scc.mapM fun decl => do let calls ← SplitScc.findSccCalls declMap decl