Fixed the optimizer for OR

parent 3628bf3f
...@@ -152,15 +152,15 @@ ...@@ -152,15 +152,15 @@
(mapc #'c2expr* butlast)) (mapc #'c2expr* butlast))
(c2expr last)) (c2expr last))
(unwind-exit t)) (unwind-exit t))
(t (t
(with-exit-label (normal-exit) (with-exit-label (common-exit)
(dolist (f butlast) (with-exit-label (normal-exit)
(let ((*destination* 'VALUE0)) (dolist (f butlast)
(c2expr* f)) (let ((*destination* 'VALUE0))
(set-jump-true 'VALUE0 normal-exit)) (c2expr* f))
(let ((*destination* 'VALUE0)) (set-jump-true 'VALUE0 normal-exit))
(c2expr* last))) (c2expr last))
(unwind-exit 'VALUE0)))) (unwind-exit 'VALUE0)))))
(defun set-jump-true (loc label) (defun set-jump-true (loc label)
(multiple-value-bind (constantp value) (multiple-value-bind (constantp value)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment