Skip to content
  • nr@eecs.harvard.edu's avatar
    a good deal of salutory renaming · fd8d0411
    nr@eecs.harvard.edu authored
    I've renamed a number of type and data constructors within Cmm so that
    the names used in the compiler may more closely reflect the C--
    specification 2.1.  I've done a bit of other renaming as well.
    Highlights:
    
      CmmFormal and CmmActual now bear a CmmKind (which for now is a
                                                  MachHint as before)
      CmmFormals = [CmmFormal] and CmmActuals = [CmmActual]
      
      suitable changes have been made to both code and nonterminals in the
      Cmm parser (which is as yet untested)
    
      For reasons I don't understand, parts of the code generator use a
      sequence of 'formal parameters' with no C-- kinds.  For these we now
      have the types
        type CmmFormalWithoutKind   = LocalReg
        type CmmFormalsWithoutKinds = [CmmFormalWithoutKind]
    
      A great many appearances of (Tau, MachHint) have been simplified to
      the appropriate CmmFormal or CmmActual, though I'm sure there are
      more opportunities.
    
      Kind and its data constructors are now renamed to
         data GCKind = GCKindPtr | GCKindNonPtr 
      to avoid confusion with the Kind used in the type checker and with CmmKind.
    
    Finally, in a somewhat unrelated bit (and in honor of Simon PJ, who
    thought of the name), the Whalley/Davidson 'transaction limit' is now
    called 'OptimizationFuel' with the net effect that there are no longer
    two unrelated uses of the abbreviation 'tx'.
    
    fd8d0411