Skip to content
Snippets Groups Projects
Commit 8b5163d6 authored by ram's avatar ram
Browse files

Fixed REOPTIMIZE-CONTINUATION to set BLOCK-TEST-MODIFIED if the

continuation goes to an IF.
parent 321b7e52
No related branches found
No related tags found
No related merge requests found
...@@ -159,6 +159,8 @@ ...@@ -159,6 +159,8 @@
(when prev (when prev
(let* ((block (continuation-block prev)) (let* ((block (continuation-block prev))
(component (block-component block))) (component (block-component block)))
(when (typep dest 'cif)
(setf (block-test-modified block) t))
(setf (block-reoptimize block) t) (setf (block-reoptimize block) t)
(setf (component-reoptimize component) t)))))) (setf (component-reoptimize component) t))))))
(do-uses (node cont) (do-uses (node cont)
...@@ -689,13 +691,13 @@ ...@@ -689,13 +691,13 @@
(continuation-dest (node-cont node))) (continuation-dest (node-cont node)))
(constant-fold-call node) (constant-fold-call node)
(return-from ir1-optimize-combination))) (return-from ir1-optimize-combination)))
(let ((fun (function-info-derive-type kind))) (let ((fun (function-info-derive-type kind)))
(when fun (when fun
(let ((res (funcall fun node))) (let ((res (funcall fun node)))
(when res (when res
(derive-node-type node res))))) (derive-node-type node res)))))
(let ((fun (function-info-optimizer kind))) (let ((fun (function-info-optimizer kind)))
(unless (and fun (funcall fun node)) (unless (and fun (funcall fun node))
(dolist (x (function-info-transforms kind)) (dolist (x (function-info-transforms kind))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment