[M3devel] [M3commit] CVS Update: cm3

Tony Hosking hosking at cs.purdue.edu
Sat Feb 2 01:56:18 CET 2008


It would be nice to have the x86 integrated backend for I386_LINUX  
and LINUXLIBC6 too -- just like the old PM3 did.

On Feb 1, 2008, at 7:45 PM, Jay wrote:

> Hey, I'd kind of like that backend to stay actually. It's quite  
> fast and generates better code than unoptimized gcc and competitive  
> code with optimized gcc. There's no AMD64 support anywhere yet in  
> Modula-3 that I know of. Maybe it will appear here first? :)
>
> I don't think it is all that gnarly either. But somewhat. It's a  
> bit like code I've see that is so often handling one case after  
> another case after yet another case, yet who knows what all the  
> cases are and which order (if any particular) they should be  
> handled in? That is, it's actually kind of easier to read it and  
> understand what it does do, and realize that is "correct" in the  
> "necessary" sense, but hard to know if it is "sufficient".
> I've got outstanding diffs for int64 support I'd like to get back to.
>
> AMD64 shouldn't be difficult...that's kind of the point, eh?
> It's just a slight alteration of x86..
>
> Granted, it isn't set up, doesn't have a "framework", to generate  
> substantially better code.
> It doesn't remember much, doesn't make multiple passes, doesn't  
> have a high level representation, etc.
>
> In the unlikely event that I succeed, presumably PPC would be  
> next...:)
>
> (But yeah yeah, LLVM is probably easier and much more fruitful,  
> both in terms of platform each and optimization..and hopefully  
> build speed.)
>
>  - Jay
>
>
> > CC: hosking at elego.de; m3devel at elegosoft.com
> > From: hosking at cs.purdue.edu
> > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > Date: Fri, 1 Feb 2008 19:22:56 -0500
> > To: jayk123 at hotmail.com
> >
> > Hmm. OK, yes, perhaps I am prepared to live with it. Hopefully,
> > that gnarly x86 backend will go away soon anyway -- it's probably
> > never going to survive in the x86_64 universe and beyond!
> >
> > On Feb 1, 2008, at 7:19 PM, Jay wrote:
> >
> > > Actually it's slightly more real than I said.
> > > One cm3.exe on Windows can do any of NT386/NT386GNU/NT386MINGNU.
> > > Sometimes it uses the "extra" code, sometimes not. These are in a
> > > sense a limited form of cross build. Granted, if it was only for
> > > those three psuedo platforms, you wouldn't mind.
> > >
> > > - Jay
> > >
> > > From: jayk123 at hotmail.com
> > > To: hosking at cs.purdue.edu; hosking at elego.de
> > > Date: Sat, 2 Feb 2008 00:12:27 +0000
> > > CC: m3devel at elegosoft.com
> > > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > >
> > > This was deliberate. It enables some cross-build scenarios. That I
> > > admit I haven't used (yet?), but I really like the idea.
> > > If m3linker were completed, then "full" cross builds would be  
> real.
> > >
> > > The "extra" packages are small and build fast (well, at least not
> > > using cm3cg...).
> > > Is it really so onerous? Really?
> > >
> > > Isn't it nice to have less filtering of packages as well?
> > > Like, when you are building on non-NT386, you can easily see that
> > > you didn't break building on NT386, at least partly.
> > > ?
> > >
> > > - Jay
> > >
> > >
> > > > From: hosking at cs.purdue.edu
> > > > Date: Fri, 1 Feb 2008 18:57:32 -0500
> > > > To: hosking at elego.de
> > > > CC: m3devel at elegosoft.com
> > > > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > > >
> > > > I just checked in support for full declaration of paramters  
> even on
> > > > imported procedures in the gcc-based backend. This is to support
> > > > proper generation of stdcall calling convention on Windows.  
> In the
> > > > process of testing this I discovered that cm3 on non-Windows
> > > > platforms now needs to build and ship both of the Windows x86
> > > support
> > > > libraries m3back and m3objfile, even though non-Windows  
> platforms
> > > > don't use or need them. This seems broken to me. It seems  
> that cm3
> > > > has changed so that it now has these dependencies. Can we please
> > > > undo this? -- I see no need to have to build these for non-x86
> > > > platforms that will never use them.
> > > >
> > > > On Feb 2, 2008, at 12:43 AM, Antony Hosking wrote:
> > > >
> > > > > CVSROOT: /usr/cvs
> > > > > Changes by: hosking at birch. 08/02/02 00:43:53
> > > > >
> > > > > Modified files:
> > > > > cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c
> > > > >
> > > > > Log message:
> > > > > Add parameter decls even for imported procedures, as per Jay
> > > > > Krell's request
> > > > > to support stdcall parameter passing mode on Windows.
> > > >
> > >
> > >
> > > Connect and share in new ways with Windows Live. Get it now!
> > > Shed those extra pounds with MSN and The Biggest Loser! Learn  
> more.
> >
>
>
> Shed those extra pounds with MSN and The Biggest Loser! Learn more.




More information about the M3devel mailing list