public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken
@ 2008-01-11 15:21 dnovillo at gcc dot gnu dot org
2008-01-11 18:09 ` [Bug middle-end/34743] " rguenth at gcc dot gnu dot org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2008-01-11 15:21 UTC (permalink / raw)
To: gcc-bugs
The test stopped testing what it's supposed to test. The call to function
baz() should not be inlined. This patch to the test exposes the failure. The
operand scanner is adding non-clobbered symbols to the call site.
Details at http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00477.html
--
Summary: Testcase gcc.dg/tree-ssa/20070302-1.c is broken
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: middle-end
AssignedTo: dnovillo at gcc dot gnu dot org
ReportedBy: dnovillo at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
@ 2008-01-11 18:09 ` rguenth at gcc dot gnu dot org
2008-01-11 18:26 ` rguenth at gcc dot gnu dot org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-11 18:09 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2008-01-11 15:57 -------
It's doing the correct thing. We have
p_1, name memory tag: NMT.14, is dereferenced, points-to vars: { SFT.3 SFT.7 }
(SFT.3 is x.x, SFT.7 is z.x)
Now, NMT.14 is marked call clobbered:
NMT.14, UID D.1582, struct A, is addressable, score: 40, direct reads: 2,
direct writes: 1, indirect reads: 0, indirect writes: 2, call clobbered (passed
to call), may aliases: { SFT.3 SFT.7 }
because one of its pointed-to vars is call clobbered (SFT.7, aka z, which is
passed to the call). Here:
static void
compute_tag_properties (void)
{
...
EXECUTE_IF_SET_IN_BITMAP (ma, 0, i, bi)
{
entry = referenced_var (i);
/* Call clobbered entries cause the tag to be marked
call clobbered. */
if (!tagcc && is_call_clobbered (entry))
{
mark_call_clobbered (tag, var_ann (entry)->escape_mask);
tagcc = true;
changed = true;
}
I don't know if we can disable this if var_ann (entry)->escape_mask ==
ESCAPE_TO_CALL.
I don't know if we need to propagate tags from NMT aliases to the NMT
this way at all - after all we add all subvars of an escaped var to
call clobbered vars already.
So, confirmed - there's a missing optimization.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |alias, missed-optimization
Last reconfirmed|0000-00-00 00:00:00 |2008-01-11 15:57:57
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
2008-01-11 18:09 ` [Bug middle-end/34743] " rguenth at gcc dot gnu dot org
@ 2008-01-11 18:26 ` rguenth at gcc dot gnu dot org
2008-01-14 11:20 ` [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering) rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-11 18:26 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rguenth at gcc dot gnu dot org 2008-01-11 16:39 -------
We even mark all pointed-to vars of value-escaping pointers as call-clobbered.
So I believe NMTs itself need never be call-clobbered. But there's also
hints that we cover bugs somewhere:
FIXME: This is not quite right. They should only be
clobbered if value_escapes_p is true, regardless of whether
they point to global memory or not.
So removing this code and fixing all the bugs would be nice.
It is the cause of a bunch of clobbering. */
Also it is not at all clear to me what MTAG_GLOBAL is all about (and its
appearant relation to call clobbered state).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering)
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
2008-01-11 18:09 ` [Bug middle-end/34743] " rguenth at gcc dot gnu dot org
2008-01-11 18:26 ` rguenth at gcc dot gnu dot org
@ 2008-01-14 11:20 ` rguenth at gcc dot gnu dot org
2008-01-14 11:35 ` rguenth at gcc dot gnu dot org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-14 11:20 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2008-01-14 10:56 -------
Let's defer this to stage1.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|minor |enhancement
Summary|Testcase gcc.dg/tree- |Testcase gcc.dg/tree-
|ssa/20070302-1.c is broken |ssa/20070302-1.c is broken
| |(unneeded call clobbering)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering)
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-01-14 11:20 ` [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering) rguenth at gcc dot gnu dot org
@ 2008-01-14 11:35 ` rguenth at gcc dot gnu dot org
2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-01-14 11:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rguenth at gcc dot gnu dot org 2008-01-14 10:58 -------
Created an attachment (id=14940)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14940&action=view)
patch I was toying with
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering)
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-01-14 11:35 ` rguenth at gcc dot gnu dot org
@ 2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-03 11:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2009-04-03 11:16 -------
Fixed for 4.5.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.5.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering)
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
` (4 preceding siblings ...)
2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
@ 2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-03 11:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from rguenth at gcc dot gnu dot org 2009-04-03 11:16 -------
Subject: Bug 34743
Author: rguenth
Date: Fri Apr 3 11:16:29 2009
New Revision: 145497
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145497
Log:
2009-04-03 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34743
* gcc.dg/pr38984.c: Remove XFAIL, adjust.
* gcc.dg/tree-ssa/20070302-1.c: Remove XFAIL.
* gcc.dg/tree-ssa/alias-18.c: Likewise.
* gcc.dg/tree-ssa/sra-3.c: Likewise.
* gcc.dg/vect/no-vfa-vect-49.c: Likewise.
* gcc.dg/vect/no-vfa-vect-53.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/pr38984.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/20070302-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-18.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/sra-3.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-49.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-53.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34743
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2009-04-03 11:17 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-11 15:21 [Bug middle-end/34743] New: Testcase gcc.dg/tree-ssa/20070302-1.c is broken dnovillo at gcc dot gnu dot org
2008-01-11 18:09 ` [Bug middle-end/34743] " rguenth at gcc dot gnu dot org
2008-01-11 18:26 ` rguenth at gcc dot gnu dot org
2008-01-14 11:20 ` [Bug middle-end/34743] Testcase gcc.dg/tree-ssa/20070302-1.c is broken (unneeded call clobbering) rguenth at gcc dot gnu dot org
2008-01-14 11:35 ` rguenth at gcc dot gnu dot org
2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
2009-04-03 11:17 ` rguenth at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).