[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-patches mailing list