julia
ec2ff7c4 - overhaul EscapeAnalysis.jl (local analysis only)

Commit
1 year ago
overhaul EscapeAnalysis.jl (local analysis only) - switched to the working set & flow-sensitive algorithm - implemented the new alias analysis design - added more tests - recovered inter-procedural propagation of escape information - made EA able to handle `new_nodes` - add explicit `nstmts::Int` field to `BlockEscapeState` - detect top escape with `TopLiveness` - define `AnalyzableIRElement` type alias - manage `aliasset` globally instead of on a per-block basis: While `aliasset` is necessary for propagating escape information, the convergence of the analysis is determined by the convergence of escape information, so the convergence of `aliasset` is not strictly required. - rename `escape_xxx` to `analyze_xxx` - propagate current state to handler state correctly Even if there are no changes made on current statement. - `analyze_invoke`: propagate the return value escape information - use generator for aliasset instead of collecting into array
Author
Committer
Parents
Loading