Skip to content
  • ram's avatar
    Merged non-descriptor changes: · 5598153f
    ram authored
     revision 1.7.1.4
     date: 90/04/13 12:43:56;  author: ram;  state: Exp;  lines added/del: 196/115
     Changed DEFINE-STORAGE-CLASS to give each SC a self-load cost of 0.  Fixed
     it to set *META-SC-NUMBERS* at load time as well as at compile time.
     Souped up DEFINE-MOVE-VOP to implicitly define moves for all SC pairs
     that can be moved with use of load functions.
     Added support for the new :MOVE-ARGS option.
     Fixed up load function computation a bit.  Folded the SCs which share a
     load function together.
     Added backward compatibility for the old :SCS and :TYPE options to
     the :TEMPORARY option.
     Fixed arg restriction computation.
     Fixed DO-ENVIRONMENT-IR2-BLOCKS and DO-LIVE-TNs.
     ----------------------------
     revision 1.7.1.3
     date: 90/04/02 15:24:52;  author: ram;  state: Exp;  lines added/del: 29/17
     Frobbed the syntax to DEFINE-MOVE-FUNCTION to indent better.
     Changed DO-LIVE-TNS to iterate over :MORE TNs properly, rather than
     ignoring them.  We need this now that DO-LIVE-TNS is used in
     INIT-LIVE-TNS.
     ----------------------------
     revision 1.7.1.2
     date: 90/03/27 13:01:07;  author: ram;  state: Exp;  lines added/del: 453/218
     Big changes for new non-descriptor support.
    
     New DEFINE-STORAGE-CLASS options: :SAVE-P, :ALTERNATE-SCS, :CONSTANT-SCS.
     SB name NUMBER-STACK has magic significance.
    
     New interfaces DEFINE-MOVE-FUNCTION and DEFINE-MOVE-VOP.
    
     Flushed PRIMITIVE-SUBTYPEP, PRIMITIVE-TYPE-UNION.
    
     Flushed :MOVE, :COERCE-TO-T and :COERCE-FROM-T options to PRIMITIVE-TYPE-VOP.
     (only :CHECK remains.)
    
     Flushed DEFINE-MOVE-COSTS and DEFINE-SAVE-SCS.
    
     Flushed support for temps restricted to multiple SCs temporary primitive types.
     :SCS is flushed in favor of :SC.  Flushed support for NORMAL temps (i.e. not
     either wired or restricted.)  :SC is now required for temps.
    
     Moved operand loading back inside the generator function, and allow loading
     to be conditionalized by the :LOAD-IF option.  Allow the load-TN to be accessed
     with the :LOAD-TN option.
    
     Allow :FROM (:TO) to be specified in results (arguments).
    
     Dump load-scs vectors instead of restriction bit-vectors.  This contains the
     additional info of what SCs can be loaded by load function and what SC to
     load into.
    
     Compute operand costs from the load-function costs + the costs for any
     move/coerce VOPs applicable.
    
     Added support for the new :OR and :CONSTANT operand restrictions.
    
     Allow :NOTE to be NIL (meaning don't give efficiency note, overriding any
     inherited note.)
     ----------------------------
     revision 1.7.1.1
     date: 90/03/06 11:08:02;  author: ram;  state: Exp;  lines added/del: 71/117
     Start hacking on improved support for non-descriptor values.
    5598153f