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 @@
;;; SELECT-REPRESENTATIONS -- Interface
;;;
;;; Entry to representation selection. First we select the representation
;;; for all normal TNs, setting the TN-SC. We then scan all the IR2,
;;; emitting any necessary coerce and move-arg VOPs. Finally, we scan all
;;; TNs looking for ones that might be placed on the number stack, noting
;;; this so that the number-FP can be allocated. This must be done last,
;;; since references in new environments may be introduced by MOVE-ARG
;;; insertion.
;;; for all normal TNs, setting the TN-SC. After selecting the TN
;;; representations, we set the SC for all :ALIAS TNs to be the representation
;;; chosen for the original TN. We then scan all the IR2, emitting any
;;; necessary coerce and move-arg VOPs. Finally, we scan all TNs looking for
;;; ones that might be placed on the number stack, noting this so that the
;;; 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)
(let ((costs (make-array sc-number-limit))
......@@ -512,6 +513,11 @@
(assert 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)
(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