Skip to content
Snippets Groups Projects
Commit 053f9163 authored by ram's avatar ram
Browse files

Added support for :ALIAS TNs.

parent fbbbd8c3
No related branches found
No related tags found
No related merge requests found
...@@ -489,12 +489,13 @@ ...@@ -489,12 +489,13 @@
;;; SELECT-REPRESENTATIONS -- Interface ;;; SELECT-REPRESENTATIONS -- Interface
;;; ;;;
;;; Entry to representation selection. First we select the representation ;;; Entry to representation selection. First we select the representation
;;; for all normal TNs, setting the TN-SC. We then scan all the IR2, ;;; for all normal TNs, setting the TN-SC. After selecting the TN
;;; emitting any necessary coerce and move-arg VOPs. Finally, we scan all ;;; representations, we set the SC for all :ALIAS TNs to be the representation
;;; TNs looking for ones that might be placed on the number stack, noting ;;; chosen for the original TN. We then scan all the IR2, emitting any
;;; this so that the number-FP can be allocated. This must be done last, ;;; necessary coerce and move-arg VOPs. Finally, we scan all TNs looking for
;;; since references in new environments may be introduced by MOVE-ARG ;;; ones that might be placed on the number stack, noting this so that the
;;; insertion. ;;; number-FP can be allocated. This must be done last, since references in
;;; new environments may be introduced by MOVE-ARG insertion.
;;; ;;;
(defun select-representations (component) (defun select-representations (component)
(let ((costs (make-array sc-number-limit)) (let ((costs (make-array sc-number-limit))
...@@ -512,6 +513,11 @@ ...@@ -512,6 +513,11 @@
(assert sc) (assert sc)
(setf (tn-sc tn) sc)))) (setf (tn-sc tn) sc))))
(do ((alias (ir2-component-alias-tns 2comp)
(tn-next alias)))
((null alias))
(setf (tn-sc alias) (tn-sc (tn-save-tn alias))))
(do-ir2-blocks (block component) (do-ir2-blocks (block component)
(emit-moves-and-coercions block)) (emit-moves-and-coercions block))
......
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