1. 13 Sep, 2007 1 commit
  2. 12 Sep, 2007 3 commits
    • nr@eecs.harvard.edu's avatar
      remove remaining redundancies from ZipCfgCmmRep · 569348e8
      nr@eecs.harvard.edu authored
        -- LastBranch no longer takes parameters
        -- LastJump and LastReturn no longer carry CmmActuals;
           instead, those are carried by a CopyOut in the same basic block
      569348e8
    • Ian Lynagh's avatar
      Remove warning flags from individual compiler modules · 1241c26f
      Ian Lynagh authored
      We now set the flags once and for all in compiler/Makefile.
      1241c26f
    • nr@eecs.harvard.edu's avatar
      change the zipper representation of calls · b822c1e4
      nr@eecs.harvard.edu authored
      This patch combines two changes:
        1. As requested by SimonPJ, the redundancy inherent in having
           LastCall bear actual parameters has been removed.  The actual
           parameters are now carried by a separate CopyOut node.
        2. The internal (to zipper) representation of calls has changed;
           the representation of calling conventions is more orthogonal,
           and there is now no such thing as a 'safe' or 'final' call
           to a CallishMachOp.   This change has affected the interface
           to MkZipCfgCmm, which now provides a static guarantee.  Simon's
           new upstream code will be affected; I've patched the existing
           code in CmmCvt (which becomes ever hairier).
        
      b822c1e4
  3. 11 Sep, 2007 1 commit
  4. 07 Sep, 2007 4 commits
    • nr@eecs.harvard.edu's avatar
      9633cb08
    • nr@eecs.harvard.edu's avatar
    • 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
    • nr@eecs.harvard.edu's avatar
      8b7eaa40