Function: comp--remove-unreachable-blocks

comp--remove-unreachable-blocks is a byte-compiled function defined in comp.el.gz.

Signature

(comp--remove-unreachable-blocks)

Documentation

Remove unreachable basic blocks.

Return t when one or more block was removed, nil otherwise.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
(defun comp--remove-unreachable-blocks ()
  "Remove unreachable basic blocks.
Return t when one or more block was removed, nil otherwise."
  (cl-loop
   with ret
   for bb being each hash-value of (comp-func-blocks comp-func)
   for bb-name = (comp-block-name bb)
   when (and (not (eq 'entry bb-name))
             (null (comp-block-idom bb)))
   do
   (comp-log (format "Removing block: %s" bb-name) 1)
   (remhash bb-name (comp-func-blocks comp-func))
   (setf (comp-func-ssa-status comp-func) t
              ret t)
   finally return ret))