- 13 Sep, 2007 1 commit
-
-
nr@eecs.harvard.edu authored
-
- 12 Sep, 2007 3 commits
-
-
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
-
Ian Lynagh authored
We now set the flags once and for all in compiler/Makefile.
-
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).
-
- 11 Sep, 2007 1 commit
-
-
nr@eecs.harvard.edu authored
Interface MkZipCfgCmm should now be sufficient for all construction needs, though some identifiers are re-exported from (and explained in) MkZipCfg. ZipCfgCmmRep should be used only by modules involved in analysis, optimization, or translation of Cmm programs.
-
- 07 Sep, 2007 4 commits
-
-
nr@eecs.harvard.edu authored
-
nr@eecs.harvard.edu authored
-
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'.
-
nr@eecs.harvard.edu authored
-