This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C PATCH: Convert to function-at-a-time mode
- To: Mark Mitchell <mark at codesourcery dot com>,gcc-patches at gcc dot gnu dot org
- Subject: Re: C PATCH: Convert to function-at-a-time mode
- From: Franz Sirl <Franz dot Sirl-kernel at lauterbach dot com>
- Date: Tue, 19 Sep 2000 01:05:52 +0200
- References: <20000917004235F.mitchell@codesourcery.com>
On Sun, 17 Sep 2000, Mark Mitchell wrote:
> This patch converts the C front-end to function-at-a-time mode, and
> also continues the effort towards sharing code between the C and C++
> front-ends.
>
> This patch was bootstrapped and tested on i686-pc-linux-gnu. There is
> one regression failure in compare2.c; code like:
>
> y > ({tf; 64;}); /* { dg-bogus "signed and unsigned" "case 10" } */
>
> where `y' is signed now yields a warning, where it did not do so
> previously. This worked only because we generated RTL for the
> statement-expression, and then just looked at the last RTL value. We
> could see that it was a non-negative constant, so we didn't warn.
> Now, using a STMT_EXPR tree node, we are unable to determine this.
> (We could walk around in the STMT_EXPR to find the last expression,
> but we don't.)
>
> I would be quite surprised if a change of this magnitude had no other
> ill effects -- but I don't know of any at this time. Obviously, we'll
> fix them when they show up. :-)
Here you have a bunch of regressions that show up on powerpc-linux-gnu :-) :
FAIL: gcc.c-torture/execute/991216-3.c execution, -O0
FAIL: gcc.c-torture/execute/991216-3.c execution, -O1
FAIL: gcc.c-torture/execute/991216-3.c execution, -O2
FAIL: gcc.c-torture/execute/991216-3.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/991216-3.c execution, -O3 -fomit-frame-pointer
-funroll-loops
FAIL: gcc.c-torture/execute/991216-3.c execution, -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/991216-3.c execution, -O3 -g
FAIL: gcc.c-torture/execute/991216-3.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/991216-3.c execution, -Os
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -O0
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -O1
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -O2
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -O3
-fomit-frame-pointer
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -O3 -g
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/strct-varg-1.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O3 -fomit-frame-pointer
-funroll-loops
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-15.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-16.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-17.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-19.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O3 -fomit-frame-pointer
-funroll-loops
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-3.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-7.c execution, -Os
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -O0
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -O1
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -O2
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -O3 -g
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -O3 -fssa
FAIL: gcc.c-torture/execute/va-arg-8.c execution, -Os
I doubt I can look at that seriously before the Oktoberfest ends :-)
Franz.