perf: fast path for SCC decomposition (#12009)
This commit is contained in:
parent
dc70d0cc43
commit
2f7f63243f
1 changed files with 2 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue