diff options
| author | Andrea Corallo | 2021-01-01 11:09:00 +0100 |
|---|---|---|
| committer | Andrea Corallo | 2021-01-01 14:06:00 +0100 |
| commit | 93ff838575d25eba76bb0b3d476a36a56bbfba30 (patch) | |
| tree | d381a9fa1b24c74c79ab2de14324755ad1b2acad /src/alloc.c | |
| parent | 6ba94f7c77b4013e15f8a5a9181fba9a2df20ab7 (diff) | |
| download | emacs-93ff838575d25eba76bb0b3d476a36a56bbfba30.tar.gz emacs-93ff838575d25eba76bb0b3d476a36a56bbfba30.zip | |
* Clean unreachable block using dominance tree to handle circularities
With this commit unreachable basic blocks are pruned automatically by
comp-ssa relying on dominance analysis. This solves the issue of
unreachable cluster of basic blocks referencing each other.
* lisp/emacs-lisp/comp.el (comp-block-lap): New `no-ret' slot.
(comp-compute-dominator-tree): Update.
(comp-remove-unreachable-blocks): New functions.
(comp-ssa): Update to call `comp-remove-unreachable-blocks'.
(comp-clean-orphan-blocks): Delete.
(comp-rewrite-non-locals): Update and simplify.
Diffstat (limited to 'src/alloc.c')
0 files changed, 0 insertions, 0 deletions