Function: make--comp--ssa-mvar

make--comp--ssa-mvar is a byte-compiled function defined in comp.el.gz.

Signature

(make--comp--ssa-mvar &rest REST &key SLOT CONSTANT TYPE)

Documentation

Same as make--comp-mvar but set the id slot.

Source Code

;; Defined in /usr/src/emacs/lisp/emacs-lisp/comp.el.gz
;;; SSA pass specific code.
;; After limplification no edges are present between basic blocks and an
;; implicit phi is present for every slot at the beginning of every basic block.
;; This pass is responsible for building all the edges and replace all m-vars
;; plus placing the needed phis.
;; Because the number of phis placed is (supposed) to be the minimum necessary
;; this form is called 'minimal SSA form'.
;; This pass should be run every time basic blocks or m-var are shuffled.

(cl-defun make--comp--ssa-mvar (&rest rest &key _slot _constant _type)
  "Same as `make--comp-mvar' but set the `id' slot."
  (let ((mvar (apply #'make--comp-mvar rest)))
    (setf (comp-mvar-id mvar) (sxhash-eq mvar))
    mvar))