[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