change the zipper representation of calls
authorNorman Ramsey <nr@eecs.harvard.edu>
Wed, 12 Sep 2007 15:38:52 +0000 (15:38 +0000)
committerNorman Ramsey <nr@eecs.harvard.edu>
Wed, 12 Sep 2007 15:38:52 +0000 (15:38 +0000)
commitb822c1e46cd64d1dba23fbab0f775b731bf0f12b
treeb7aa9101366937abc5440efdb69e1b8b5e709715
parentd068f78b3ae99da8976e0836739cde6213c40041
change the zipper representation of calls
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).
compiler/cmm/CmmContFlowOpt.hs
compiler/cmm/CmmCvt.hs
compiler/cmm/CmmLiveZ.hs
compiler/cmm/CmmProcPointZ.hs
compiler/cmm/CmmSpillReload.hs
compiler/cmm/MkZipCfgCmm.hs
compiler/cmm/PprCmm.hs
compiler/cmm/PprCmmZ.hs
compiler/cmm/ZipCfgCmmRep.hs