[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