[M3commit] CVS Update: cm3

Jay K jay.krell at cornell.edu
Mon Feb 8 17:31:08 CET 2010


I'm also not sure the line between frontend and backend is so clear.

They are immediately adjacent of course and do surprisingly similar things.

 You know, the front end does a lot of bit twiddling.

  I think a lot of what is in m3back belongs elsewhere, either in m3front

   or a nonexistant middle layer. It does a lot of target-independent

   optimization and bit twiddling. I guess ultimately the design is

   m3back would have M3sparc.m3, M3ppc.m3, M3alpha.m3, M3amd64.m3 (

   possibly part of m3x86.m3), M3mips.m3, etc., and the existing x86 stuff would gradually get

   refactored so they'd share a lot of code.

 

But ok, I've copied the stuff to m3back.

 

 - Jay
 


From: jay.krell at cornell.edu
To: hosking at elego.de; m3commit at elegosoft.com
Date: Mon, 8 Feb 2010 16:15:36 +0000
Subject: Re: [M3commit] CVS Update: cm3



In the one case, there is a dependency on the ordering of the enumeration.
It seems to me that anything that depends on the order of an enumeration
belongs very near the definition of the enumeration.
 
Stuff like this:
 
  SignedType = ARRAY CGType OF BOOLEAN {
     FALSE, TRUE,  FALSE, TRUE,  (* Word8 .. Int16 *)
     FALSE, TRUE,  FALSE, TRUE,  (* Word32 .. Int64 *)
     TRUE,  TRUE,  TRUE,         (* Reel .. XReel *)
     FALSE, FALSE, FALSE         (* Addr .. Void *)
  };
 
CONST
  ToUnsignedType = ARRAY [CGType.Word32..CGType.Int64] OF
                        [CGType.Word32..CGType.Word64] {
                            CGType.Word32, CGType.Word32,
                            CGType.Word64, CGType.Word64 };
 
I'm likely going to duplicate this exact stuff.
 
 - Jay
 
> Date: Mon, 8 Feb 2010 17:00:54 +0000
> To: m3commit at elegosoft.com
> From: hosking at elego.de
> Subject: [M3commit] CVS Update: cm3
> 
> CVSROOT: /usr/cvs
> Changes by: hosking at birch. 10/02/08 17:00:54
> 
> Modified files:
> cm3/m3-sys/m3middle/src/: Target.i3 TargetMap.i3 TargetMap.m3 
> 
> Log message:
> Revert muddying of m3middle interfaces. These are engineered in support
> of the front-end. They should not be perturbed for down-stream back-end needs.
> 
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3commit/attachments/20100208/ee248991/attachment-0002.html>


More information about the M3commit mailing list