diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-11-05 22:23:48 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-11-05 22:34:12 +0100 |
commit | c6abe97f941a5021d416e01fb0f61a675c5f6b29 (patch) | |
tree | ba0c81f812c2353cb68bca974088a741ffa69cad /lisp/emacs-lisp/comp.el | |
parent | 3e3843512bfae0b7a532f633e45d4c140807ec9b (diff) | |
download | emacs-c6abe97f941a5021d416e01fb0f61a675c5f6b29.tar.gz emacs-c6abe97f941a5021d416e01fb0f61a675c5f6b29.tar.bz2 emacs-c6abe97f941a5021d416e01fb0f61a675c5f6b29.zip |
* A native compiler forward propagation fix
* lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar'
`const-vld' slot left unset while propagating in phis.
Diffstat (limited to 'lisp/emacs-lisp/comp.el')
-rw-r--r-- | lisp/emacs-lisp/comp.el | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index b35fe9bfcbb..51fed2ffd3b 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2249,7 +2249,8 @@ Forward propagate immediate involed in assignments." (consts (mapcar #'comp-mvar-constant rest)) (x (car consts)) (equals (cl-every (lambda (y) (equal x y)) consts))) - (setf (comp-mvar-constant lval) x)) + (setf (comp-mvar-const-vld lval) t + (comp-mvar-constant lval) x)) ;; Forward type propagation. ;; FIXME: checking for type equality is not sufficient cause does not ;; account type hierarchy! |