[PATCH] Backport patchset for gcc-2_95-branch (was: Re: State of maturity for gcc 2.95.3 and gcc 2.96)
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Sun Oct 15 06:35:00 GMT 2000
Hi,
as promised, here is a possible backport patchset for the gcc-2_95-branch. It
contains a bunch of backports from the mainline I did end of June. If someone
dares to review and comment on it, that would be really nice.
It's heavily tested on powerpc-linux-gnu, but on nothing else. It causes no
testsuite regressions and works fine in practice too. If run against the
current mainline testsuite, I get the following execution fails:
FAIL: gcc.c-torture/execute/20000412-2.c execution, -O1
FAIL: gcc.c-torture/execute/20000412-2.c execution, -O2
FAIL: gcc.c-torture/execute/20000412-2.c execution, -O3
FAIL: gcc.c-torture/execute/20000412-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/20000412-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/20000412-2.c execution, -Os
FAIL: gcc.c-torture/execute/20000917-1.c execution, -O0
FAIL: gcc.c-torture/execute/20000917-1.c execution, -O1
FAIL: gcc.c-torture/execute/20000917-1.c execution, -O2
FAIL: gcc.c-torture/execute/20000917-1.c execution, -O3
FAIL: gcc.c-torture/execute/20000917-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/20000917-1.c execution, -O3 -g
FAIL: gcc.c-torture/execute/20000917-1.c execution, -Os
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O0
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O1
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O2
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O3
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O3 -fomit-frame-pointer
-funroll-loops
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O3 -fomit-frame-pointer
-funroll-all-loops -finline-functions
FAIL: gcc.c-torture/execute/20001009-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/20001009-2.c execution, -Os
FAIL: gcc.c-torture/execute/991202-3.c execution, -O0
FAIL: gcc.c-torture/execute/991202-3.c execution, -O1
FAIL: gcc.c-torture/execute/991202-3.c execution, -O2
FAIL: gcc.c-torture/execute/991202-3.c execution, -O3
FAIL: gcc.c-torture/execute/991202-3.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/991202-3.c execution, -O3 -g
FAIL: gcc.c-torture/execute/991202-3.c execution, -Os
FAIL: gcc.c-torture/execute/align-1.c execution, -O0
FAIL: gcc.c-torture/execute/align-1.c execution, -O1
FAIL: gcc.c-torture/execute/align-1.c execution, -O2
FAIL: gcc.c-torture/execute/align-1.c execution, -O3
FAIL: gcc.c-torture/execute/align-1.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/align-1.c execution, -O3 -g
FAIL: gcc.c-torture/execute/align-1.c execution, -Os
FAIL: gcc.c-torture/execute/widechar-2.c execution, -O1
FAIL: gcc.c-torture/execute/widechar-2.c execution, -O2
FAIL: gcc.c-torture/execute/widechar-2.c execution, -O3
FAIL: gcc.c-torture/execute/widechar-2.c execution, -O3 -fomit-frame-pointer
FAIL: gcc.c-torture/execute/widechar-2.c execution, -O3 -g
FAIL: gcc.c-torture/execute/widechar-2.c execution, -Os
FAIL: gcc.dg/20000623-1.c execution test
I didn't care too much about about compilation fails and cpp related stuff.
All but Geoff's loop fix have been accepted for the mainline.
Franz.
gcc/ChangeLog
2000-10-14 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2000-03-17 Martin v. Löwis <loewis@informatik.hu-berlin.de>
* calls.c (special_function_p): It is only malloc if it returns
Pmode.
1999-12-14 Bernd Schmidt <bernds@cygnus.co.uk>
* combine.c (combine_simplify_rtx): Don't make shared rtl.
(simplify_logical): Likewise.
1999-12-16 David S. Miller <davem@redhat.com>
* expr.c (emit_move_insn_1): Only emit clobbers if one of
the outputs is a SUBREG.
Wed Sep 22 17:35:55 1999 Michael Meissner <meissner@cygnus.com>
* expr.c (emit_move_insn_1): If we are copying a complex that fits
in one word or less (complex char, complex short, or on 64 bit
systems complex float) to/from a hard register, copy it through
memory instead of dying in gen_{real,imag}part. If we have a
short complex type, prevent inlining since it allocates stack
memory.
Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
* fold-const.c (make_range): Handle degenerated intervals.
Fixes c-torture/execute/991221-1.c
2000-07-15 Michael Meissner <meissner@redhat.com>
* fold-const.c (fold): When optimizing FOO++ == CONST into ++FOO
== CONST + INCREMENT, don't overwrite the tree node for FOO++,
create a new node instead.
2000-03-06 Mark Mitchell <mark@codesourcery.com>
* function.c (free_temps_for_rtl_expr): Don't free slots
that have been pushed into a higher level.
Tue Sep 14 01:33:15 1999 Andreas Schwab <schwab@suse.de>
* loop.c (strength_reduce): Don't call reg_used_between_p if the
insn from BL2 is after the insn from BL.
Tue Dec 14 18:13:32 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
* loop.c (strength_reduce): Fix sign of giv lifetime calculation
for givs made from biv increments.
Mon Feb 28 11:34:43 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
* loop.c (reg_in_basic_block_p): Don't abort when falling through
to the end of the function.
Sat Apr 22 22:35:38 MET DST 2000 Jan Hubicka <jh@suse.cz>
* loop.c (strength_reduce): Fix biv removal code.
2000-04-26 Geoff Keating <geoffk@cygnus.com>
* loop.c (basic_induction_var): If a REG is set from something
that is not a biv, then the REG is not a biv. Even if it is
earlier set from something that is a biv.
2000-09-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* loop.c (check_final_value): A GIV is not replaceable if used
before set.
2000-02-26 Geoff Keating <geoffk@cygnus.com>
* reload1.c (do_output_reload): Check reg_reloaded_valid before
looking at reg_reloaded_contents.
2000-03-22 Richard Henderson <rth@cygnus.com>
* stmt.c (expand_asm_operands): Don't promote the temporary.
Thu Oct 14 03:59:57 1999 Stephane Carrez <stcarrez@worldnet.fr>
* stor-layout.c (layout_union): Use HOST_WIDE_INT for const_size;
check for member bit-size overflow and use var_size if it occurs.
(layout_record): Use bitsize_int() to define the type size in bits.
Likewise for computation and assignment to DECL_FIELD_BITPOS.
(layout_decl): Likewise when assigning to DECL_SIZE.
Thu Oct 28 10:20:02 1999 Geoffrey Keating <geoffk@cygnus.com>
* config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
of the function return register into a plain REG until
after function inlining is done.
libio/ChangeLog
2000-09-23 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* stdstreams.cc: Include <libio.h>, not "libio.h".
* iolibio.h: Likewise.
(_IO_pos_BAD): Use _IO_off_t instead of _IO_fpos_t.
* libio.h (_IO_USER_LOCK): Define.
1999-12-22 Jakub Jelinek <jakub@redhat.com>
* libio.h (_IO_cookie_io_functions_t): Use _IO_off_t instead of
_IO_fpos_t.
(_IO_seekoff, _IO_seekpos): Likewise. Use _IO_off64_t instead of
_IO_fpos64_t.
* libioP.h (_IO_seekoff_t, _IO_seekpos_t, _IO_seek_t): Likewise.
(_IO_seekoff, _IO_seekpos): Likewise.
(_IO_default_seekoff, _IO_default_seekpos): Likewise.
(_IO_default_seek): Likewise.
(_IO_file_seekoff, _IO_file_seek, _IO_str_seekoff): Likewise.
* streambuf.h (streampos): Typedef to _IO_off_t resp. _IO_off64_t.
* parsestream.h (class parsebuf::pos_at_line_start): Change type
to _IO_off_t.
More information about the Gcc
mailing list