Bug 16728 - [4.0 regression] std::set tests for allocator/insert core in make check-performance
Summary: [4.0 regression] std::set tests for allocator/insert core in make check-perfo...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: tree-optimization (show other bugs)
Version: 4.0.0
: P2 normal
Target Milestone: 4.0.0
Assignee: Diego Novillo
URL:
Keywords: wrong-code
Depends on:
Blocks:
 
Reported: 2004-07-26 22:30 UTC by Benjamin Kosnik
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: i686-pc-linux-gnu
Target: i686-pc-linux-gnu
Build: i686-pc-linux-gnu
Known to work:
Known to fail:
Last reconfirmed:


Attachments
test case (1.99 KB, text/plain)
2004-07-26 22:31 UTC, Benjamin Kosnik
Details
p.20041031-1 (1.66 KB, text/plain)
2004-10-31 21:38 UTC, Benjamin Kosnik
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Kosnik 2004-07-26 22:30:51 UTC
Between 2004-06-28 and 2004-07-02, the following tests started coring:

testsuite/performance/20_util/allocator/insert.cc
B20-24
T20-24

testsuite/performance/20_util/allocator/insert_insert.cc
S20-24

All of these only impact the std::set container.

I've tried current mainline libstdc++ sources with the gcc-3_4-branch compiler,
and don't get these failures. Thus, it is likely that something in the compiler
changed for the negative between these two days, although it is certainly
possible that the fault remains with libstdc++.

I enclose an edited  version of this file to show the problem.

-benjamin
Comment 1 Benjamin Kosnik 2004-07-26 22:31:34 UTC
Created attachment 6832 [details]
test case


compile with -O2 -pthread, run, core
Comment 2 Andrew Pinski 2004-07-26 22:42:39 UTC
It works with -O0 but not with -O2.
Comment 3 Andrew Pinski 2004-07-26 22:46:49 UTC
This is a dup of bug 14029 and PR 15262 and PR 15440 and PR 16282 and a couple more, the 
problem is that Alias analyzer cannot handle addressable fields.

*** This bug has been marked as a duplicate of 14029 ***
Comment 4 Benjamin Kosnik 2004-07-27 01:54:25 UTC
Subject: Re:  [3.5 regression] std::set tests
 for allocator/insert core in make check-performance

On 26 Jul 2004 22:46:49 -0000
"pinskia at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> wrote:

>
>------- Additional Comments From pinskia at gcc dot gnu dot org  2004-07-26 22:46 -------
>This is a dup of bug 14029 and PR 15262 and PR 15440 and PR 16282 and a couple more, the 
>problem is that Alias analyzer cannot handle addressable fields.

Great, thanks for letting me know what's up. Please close this, I just
wanted to make sure that people other than I knew that there was a
problem.

-benjamin
Comment 5 Benjamin Kosnik 2004-09-17 18:39:51 UTC

This is still an open issue. The bug that it supposedly duplicated, 14029,
didn't solve it.
Comment 6 Andrew Pinski 2004-09-17 18:51:07 UTC
Hmm, now it fails at -O0 at least with "3.5.0 20040909" so it might not be a tree-opt bug at all but that 
might be because libstdc++ is still miscompiled with that build.
Comment 7 Andrew Pinski 2004-09-17 18:56:42 UTC
Hmm, it also does not fail with "4.0.0 20040917" at -O2 which means this is most likely fixed by:
<http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01725.html> which is in the top of my changelog.
Comment 8 Benjamin Kosnik 2004-09-17 19:21:34 UTC
Subject: Re:  [4.0 regression] std::set tests
 for allocator/insert core in make check-performance


>Hmm, it also does not fail with "4.0.0 20040917" at -O2 which means this is most likely fixed by:
><http://gcc.gnu.org/ml/gcc-patches/2004-09/msg01725.html> which is in the top of my changelog.

Disagree. It fails for me with that patch and with current mainline on x86/linux.

-benjamin
Comment 9 Andrew Pinski 2004-09-17 19:25:10 UTC
Does -fno-tree-im fix the problem?
Comment 10 Diego Novillo 2004-10-28 13:36:12 UTC
Disabling DOM seems to paper over the bug.  Investigating.
Comment 11 Diego Novillo 2004-10-28 18:04:32 UTC
This is fixed in tree-cleanup-branch.  I'm bringing the patch into mainline. 
Ben, is this test out of the libstdc++ testsuite?  Do we test it by default with
make check?  If not, would you mind adding it the default testsuite?  I'm not
very familiar with it.


Thanks.  Diego.
Comment 12 GCC Commits 2004-10-28 23:24:52 UTC
Subject: Bug 16728

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	dnovillo@gcc.gnu.org	2004-10-28 23:24:41

Modified files:
	gcc            : ChangeLog tree-flow.h tree-ssa-alias.c 
	                 tree-ssa-copy.c 

Log message:
	PR tree-optimization/16728
	* tree-flow.h (get_ptr_info): Declare.
	* tree-ssa-alias.c (get_ptr_info): Make extern.
	* tree-ssa-copy.c (merge_alias_info): Merge flow-sensitive
	alias information.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.6085&r2=2.6086
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-flow.h.diff?cvsroot=gcc&r1=2.56&r2=2.57
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-alias.c.diff?cvsroot=gcc&r1=2.47&r2=2.48
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-copy.c.diff?cvsroot=gcc&r1=2.18&r2=2.19

Comment 13 Andrew Pinski 2004-10-29 05:43:11 UTC
Fixed.
Comment 14 Benjamin Kosnik 2004-10-31 21:38:12 UTC
Subject: Re:  [4.0 regression] std::set tests
 for allocator/insert core in make check-performance


>This is fixed in tree-cleanup-branch.  I'm bringing the patch into mainline. 
>Ben, is this test out of the libstdc++ testsuite?  Do we test it by default with
>make check?  If not, would you mind adding it the default testsuite?  I'm not
>very familiar with it.

I'll check this in if testing proceeds smoothly.
Comment 15 Benjamin Kosnik 2004-10-31 21:38:12 UTC
Created attachment 7448 [details]
p.20041031-1
Comment 16 GCC Commits 2004-11-01 00:02:46 UTC
Subject: Bug 16728

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	bkoz@gcc.gnu.org	2004-11-01 00:02:43

Modified files:
	libstdc++-v3   : ChangeLog 
Added files:
	libstdc++-v3/testsuite/23_containers/set/modifiers: 16728.cc 

Log message:
	2004-10-31  Benjamin Kosnik  <bkoz@redhat.com>
	
	PR c++/16728
	* testsuite/23_containers/set/modifiers/16728.cc: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/ChangeLog.diff?cvsroot=gcc&r1=1.2739&r2=1.2740
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/23_containers/set/modifiers/16728.cc.diff?cvsroot=gcc&r1=NONE&r2=1.1