Related articles |
---|
compiler back-end development? madeeha@gmail.com (mj) (2009-07-10) |
Re: compiler back-end development? cmeerw@cmeerw.org (Christof Meerwald) (2009-07-11) |
Re: compiler back-end development? tc@cs.bath.ac.uk (Tom Crick) (2009-07-11) |
Re: compiler back-end development? cr88192@hotmail.com (BGB / cr88192) (2009-07-12) |
Re: compiler back-end development? jacob@nospam.org (jacob navia) (2009-07-13) |
Re: compiler back-end development? ian@airs.com (Ian Lance Taylor) (2009-07-13) |
Re: compiler back-end development? cr88192@hotmail.com (BGB) (2009-07-13) |
Re: compiler back-end development? cr88192@hotmail.com (BGB / cr88192) (2009-07-14) |
Re: compiler back-end development? rogers.email@gmail.com (Ian Rogers) (2009-07-14) |
Re: compiler back-end development? cr88192@hotmail.com (BGB / cr88192) (2009-07-14) |
[3 later articles] |
From: | "BGB / cr88192" <cr88192@hotmail.com> |
Newsgroups: | comp.compilers |
Date: | Sun, 12 Jul 2009 15:34:10 -0700 |
Organization: | albasani.net |
References: | 09-07-013 09-07-015 |
Keywords: | GCC |
Posted-Date: | 13 Jul 2009 06:54:42 EDT |
"Tom Crick" <tc@cs.bath.ac.uk> wrote in message
> mj wrote:
>> I am interested in working on code generation or optimization part of
>> an on going compiler development project. ...
>
>> If there is such a requirement in any open-source project or otherwise
>> (bug fixing for a start), I would very much like to join in.
>
> GCC always want help:
>
> http://gcc.gnu.org/projects/
> http://gcc.gnu.org/contribute.html
>
> good place to start:
>
> http://gcc.gnu.org/projects/beginner.html
>
agreed...
yep, one place where I would like to see improvement personally is GCC's
Win64 support...
it is presently, IMO, to put it nicely, crap...
the versions I have seen, generally, not correctly implementing the ABI
(missing prologues and epilogues, generally awkward handling of arguments),
and also exhibiting some fairly major bugs...
;not exact, just a crude immitation from memory of what I was seeing (note,
I use Intel vs GAS syntax):
Foo:
push rbp
mov rbp, rsp
sub rsp, ...
mov [rbp-8], rcx
mov [rbp-16], rdx
mov [rbp-24], r8
mov [rbp-32], r9
so, the above is both incorrect (as per a strict interpretation of the ABI),
and generally awkward
more so... the ABI reserves already space for this on the stack:
push rbp
mov rbp, rsp
mov [rbp+16], rcx
mov [rbp+24], rdx
mov [rbp+32], r8
mov [rbp+48], r9
so, I really don't know why the args were being placed in locals.
...
leave ;nope...
ret
bugs I have been seeing have been things like occasional argument thrashing
and similar (for example, when passing arguments to functions, their values
get messed up), ...
some tests also showed it runing a good 2x-3x slower than MSVC's output
(this, of course, being a much lesser concern than the bugs...).
I am almost tempted to join in, apart from the general sense of horror
experienced thus far WRT GCC's codebase... (it is funny, I want it improved,
but don't want to have to deal with their codebase). it is terrible enough
just trying to get it to build...
(I also have my own compiler project to deal with mostly...).
but, yes, it would be better to have GCC working, but for now I have ended
up using MSVC as my backend (static) compiler (when doing 64-bit stuff...).
Return to the
comp.compilers page.
Search the
comp.compilers archives again.