public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c
@ 2012-02-28 12:40 gjl at gcc dot gnu.org
2012-02-28 12:49 ` [Bug rtl-optimization/52417] " gjl at gcc dot gnu.org
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-02-28 12:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Bug #: 52417
Summary: [4.7 Regression] Infinite recursion in DSE/alias.c
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Keywords: compile-time-hog
Severity: major
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: gjl@gcc.gnu.org
Target: avr
alias.c enters an infinite recurson for the following testcases from GCC
testsuite:
gcc.c-torture/compile/pr37669-2.c
for any compilation with -O* and without -fno-dse
Target: avr
Configured with: ../../gcc.gnu.org/trunk/configure --target=avr
--prefix=/local/gnu/install/gcc-4.7 --disable-nls --with-dwarf2
--enable-checking=yes,rtl target_alias=avr --enable-languages=c,c++
Thread model: single
gcc version 4.7.0 20120228 (experimental) (GCC)
GNU C (GCC) version 4.7.0 20120228 (experimental) (avr)
compiled by GNU C version 4.3.2 [gcc-4_3-branch revision 141291], GMP
version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
@ 2012-02-28 12:49 ` gjl at gcc dot gnu.org
2012-02-28 12:51 ` gjl at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-02-28 12:49 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Georg-Johann Lay <gjl at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-02-28
CC| |eric.weddington at atmel
| |dot com
Target Milestone|--- |4.7.0
Ever Confirmed|0 |1
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
2012-02-28 12:49 ` [Bug rtl-optimization/52417] " gjl at gcc dot gnu.org
@ 2012-02-28 12:51 ` gjl at gcc dot gnu.org
2012-03-01 3:04 ` aoliva at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-02-28 12:51 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Georg-Johann Lay <gjl at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |aoliva at gcc dot gnu.org
--- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-02-28 12:48:10 UTC ---
CCing Alexandre, presumably this is caused by the last changes for PR52001.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
2012-02-28 12:49 ` [Bug rtl-optimization/52417] " gjl at gcc dot gnu.org
2012-02-28 12:51 ` gjl at gcc dot gnu.org
@ 2012-03-01 3:04 ` aoliva at gcc dot gnu.org
2012-03-01 3:30 ` aoliva at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-03-01 3:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |aoliva at gcc dot gnu.org
|gnu.org |
--- Comment #2 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-03-01 03:04:18 UTC ---
It is, indeed. Looking into it.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (2 preceding siblings ...)
2012-03-01 3:04 ` aoliva at gcc dot gnu.org
@ 2012-03-01 3:30 ` aoliva at gcc dot gnu.org
2012-03-01 12:11 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-03-01 3:30 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
--- Comment #3 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-03-01 03:29:45 UTC ---
Created attachment 26796
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26796
Patch that seems to cure the problem
I'm not very happy about this patch, but... It's what I got ATM.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (3 preceding siblings ...)
2012-03-01 3:30 ` aoliva at gcc dot gnu.org
@ 2012-03-01 12:11 ` rguenth at gcc dot gnu.org
2012-03-01 13:42 ` aoliva at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-03-01 12:11 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-03-01 12:10:07 UTC ---
Any reason why you reduce the two loops to one?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (4 preceding siblings ...)
2012-03-01 12:11 ` rguenth at gcc dot gnu.org
@ 2012-03-01 13:42 ` aoliva at gcc dot gnu.org
2012-03-01 15:45 ` jakub at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-03-01 13:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #26796|0 |1
is obsolete| |
--- Comment #5 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-03-01 13:41:47 UTC ---
Created attachment 26803
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26803
Here's a patch I'm happier with
This patch fully restores the get_addr behavior from before my patch in case
permanent equivalences aren't in use (e.g., for any passes other than
var-tracking), enabling the heuristics that breaks equivalence cycles only when
there are equivalences in the first place. It looks like the expensive,
seemingly exponential computational cost exhibited in dse doesn't occur with
var-tracking. Indeed, for this particular testcase, compile time with and
without -g is pretty much the same after the patch, wth or without dse.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (5 preceding siblings ...)
2012-03-01 13:42 ` aoliva at gcc dot gnu.org
@ 2012-03-01 15:45 ` jakub at gcc dot gnu.org
2012-03-01 16:55 ` gjl at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-03-01 15:45 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-03-01 15:08:32 UTC ---
This patch is ok for trunk if it passes testing, please get it in before
tomorrow noon UTC. Thanks.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (6 preceding siblings ...)
2012-03-01 15:45 ` jakub at gcc dot gnu.org
@ 2012-03-01 16:55 ` gjl at gcc dot gnu.org
2012-03-01 17:00 ` aoliva at gcc dot gnu.org
2012-03-01 17:53 ` aoliva at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: gjl at gcc dot gnu.org @ 2012-03-01 16:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
--- Comment #7 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2012-03-01 16:54:58 UTC ---
(In reply to comment #6)
> This patch is ok for trunk if it passes testing, please get it in before
> tomorrow noon UTC. Thanks.
The avr test suite passes fine with the patch :-)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (7 preceding siblings ...)
2012-03-01 16:55 ` gjl at gcc dot gnu.org
@ 2012-03-01 17:00 ` aoliva at gcc dot gnu.org
2012-03-01 17:53 ` aoliva at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-03-01 17:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
--- Comment #8 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-03-01 16:58:17 UTC ---
Author: aoliva
Date: Thu Mar 1 16:58:11 2012
New Revision: 184750
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=184750
Log:
PR debug/52001
PR rtl-optimization/52417
* cselib.c (cselib_any_perm_equivs): New variable.
(cselib_reset_table): Check that it's not set when not
preserving constants.
(cselib_add_permanent_equiv): Set it.
(cselib_have_permanent_equivalences): New.
(cselib_init, cselib_finish): Reset it.
* cselib.h (cselib_have_permanent_equivalences): Declare.
* alias.c (get_addr): Restore earlier behavior when there
aren't permanent equivalences.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/alias.c
trunk/gcc/cselib.c
trunk/gcc/cselib.h
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/52417] [4.7 Regression] Infinite recursion in DSE/alias.c
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
` (8 preceding siblings ...)
2012-03-01 17:00 ` aoliva at gcc dot gnu.org
@ 2012-03-01 17:53 ` aoliva at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-03-01 17:53 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52417
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #9 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-03-01 17:53:21 UTC ---
Fixed
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-03-01 17:53 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-28 12:40 [Bug rtl-optimization/52417] New: [4.7 Regression] Infinite recursion in DSE/alias.c gjl at gcc dot gnu.org
2012-02-28 12:49 ` [Bug rtl-optimization/52417] " gjl at gcc dot gnu.org
2012-02-28 12:51 ` gjl at gcc dot gnu.org
2012-03-01 3:04 ` aoliva at gcc dot gnu.org
2012-03-01 3:30 ` aoliva at gcc dot gnu.org
2012-03-01 12:11 ` rguenth at gcc dot gnu.org
2012-03-01 13:42 ` aoliva at gcc dot gnu.org
2012-03-01 15:45 ` jakub at gcc dot gnu.org
2012-03-01 16:55 ` gjl at gcc dot gnu.org
2012-03-01 17:00 ` aoliva at gcc dot gnu.org
2012-03-01 17:53 ` aoliva at gcc dot gnu.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).