[m-dev.] for review: GCC back-end interface

Fergus Henderson fjh at cs.mu.OZ.AU
Tue Jan 9 06:34:29 AEDT 2001


On 05-Jan-2001, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> Connect the Mercury compiler to the GCC back-end.

I plan to commit this soon, so if you have any objections
please speak up now.

Latest developments (I'll post diffs for these sometime soon):
	- I've added Mmake support
	- I've switched things around so that you can have
	  mercury_compile's main/2 in control at the top level,
	  rather than gcc's main().  This makes it much easier
	  to integrate this back-end into the existing Mercury
	  implementation.  The drawback is that it requires
	  patching gcc.
	- I've been working on modifying the code to generate
	  GCC's tree structure in full for each function
	  before converting it to RTL, rather than converting
	  it to RTL as we go, as requested by the GCC developers.
	- The --static-ground-terms option still doesn't
	  work properly.  Need to investigate.

Another thing worth mentioning is that the GCC back-end
port uses GCC's `__builtin_setjmp' and `__builtin_longjmp'.
We should use those in the MLDS->C back-end too;
they are like setjmp() and longjmp(), with a few minor
restrictions, but more efficient.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
                                    |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list