* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
@ 2012-06-21 6:58 ` jakub at gcc dot gnu.org
2012-06-21 9:33 ` rguenth at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-21 6:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-21 06:57:49 UTC ---
Created attachment 27672
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27672
pr53740.tar.bz2
Sources needed to reproduce it.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
2012-06-21 6:58 ` [Bug debug/53740] " jakub at gcc dot gnu.org
@ 2012-06-21 9:33 ` rguenth at gcc dot gnu.org
2012-06-25 5:26 ` aoliva at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-06-21 9:33 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.8.0
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
2012-06-21 6:58 ` [Bug debug/53740] " jakub at gcc dot gnu.org
2012-06-21 9:33 ` rguenth at gcc dot gnu.org
@ 2012-06-25 5:26 ` aoliva at gcc dot gnu.org
2012-06-25 13:26 ` rsandifo at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-06-25 5:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #2 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-25 05:25:54 UTC ---
Richard Sandiford has a patch that will probably cure this:
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01530.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (2 preceding siblings ...)
2012-06-25 5:26 ` aoliva at gcc dot gnu.org
@ 2012-06-25 13:26 ` rsandifo at gcc dot gnu.org
2012-06-25 14:21 ` rsandifo at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2012-06-25 13:26 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
--- Comment #3 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2012-06-25 13:25:47 UTC ---
Author: rsandifo
Date: Mon Jun 25 13:25:39 2012
New Revision: 188934
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188934
Log:
gcc/
PR debug/53740
* df.h (dead_debug_add): Remove third argument.
* df-problems.c (dead_debug_add): Likewise. Use the REGNO of the
REG that we want to replace instead.
(dead_debug_insert_temp): Use the REGNO of the reg that we want
to replace instead of DF_REF_REGNO. Require there to always be
at least one such use. Check for cases where the same location
has more than df_ref associated with it.
(df_note_bb_compute): Remove third dead_debug_add argument.
* dce.c (word_dce_process_block): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
trunk/gcc/df.h
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (3 preceding siblings ...)
2012-06-25 13:26 ` rsandifo at gcc dot gnu.org
@ 2012-06-25 14:21 ` rsandifo at gcc dot gnu.org
2012-06-26 20:27 ` aoliva at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rsandifo at gcc dot gnu.org @ 2012-06-25 14:21 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
--- Comment #4 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 2012-06-25 14:20:29 UTC ---
Author: rsandifo
Date: Mon Jun 25 14:20:19 2012
New Revision: 188935
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188935
Log:
PR debug/53740
* df.h, df-problems.c, dce.c: Revert last patch.
Modified:
trunk/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
trunk/gcc/df.h
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (4 preceding siblings ...)
2012-06-25 14:21 ` rsandifo at gcc dot gnu.org
@ 2012-06-26 20:27 ` aoliva at gcc dot gnu.org
2012-06-27 5:42 ` aoliva at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-06-26 20:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2012-06-26
AssignedTo|unassigned at gcc dot |aoliva at gcc dot gnu.org
|gnu.org |
Ever Confirmed|0 |1
--- Comment #5 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-26 20:27:00 UTC ---
I'm taking this over, at Richard's request.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (5 preceding siblings ...)
2012-06-26 20:27 ` aoliva at gcc dot gnu.org
@ 2012-06-27 5:42 ` aoliva at gcc dot gnu.org
2012-06-27 5:58 ` jakub at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-06-27 5:42 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
--- Comment #6 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-27 05:42:26 UTC ---
The bug was introduced in r188527, with the conditionalization of calling
insert_dead_debug_temp in the “else” clause, so that we would no longer insert
debug temps for sets that were not themselves dead, but that were used in debug
stmts after their death. This caused a chain of debug temps to be incorrectly
introduced, which ended up triggering the problem.
Now, there is indeed a bug in the way we deal with multiregs: we're happily
using paradoxical SUBREGs to extend the value stored in a single REG to
determine the value of the whole multi-reg expression. We only refrained from
doing so if the SET was already a SUBREG, but we had to do that for REGs too.
In the patch I'm testing now, I fix both problems. Will post soon.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (6 preceding siblings ...)
2012-06-27 5:42 ` aoliva at gcc dot gnu.org
@ 2012-06-27 5:58 ` jakub at gcc dot gnu.org
2012-06-28 7:40 ` aoliva at gcc dot gnu.org
2012-06-28 7:46 ` aoliva at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-27 5:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-27 05:58:31 UTC ---
(In reply to comment #6)
> The bug was introduced in r188527, with the conditionalization of calling
> insert_dead_debug_temp in the “else” clause, so that we would no longer insert
> debug temps for sets that were not themselves dead, but that were used in debug
> stmts after their death. This caused a chain of debug temps to be incorrectly
> introduced, which ended up triggering the problem.
If you are going to fix this by making it unconditional again, I think both
word_dce_process_block and dce_process_block should do it unconditionally.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (7 preceding siblings ...)
2012-06-27 5:58 ` jakub at gcc dot gnu.org
@ 2012-06-28 7:40 ` aoliva at gcc dot gnu.org
2012-06-28 7:46 ` aoliva at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-06-28 7:40 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
--- Comment #8 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-28 07:39:33 UTC ---
Author: aoliva
Date: Thu Jun 28 07:39:25 2012
New Revision: 189036
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189036
Log:
PR debug/53740
PR debug/52983
PR debug/48866
* dce.c (word_dce_process_block): Check whether inserting debug
temps are needed even for needed insns.
(dce_process_block): Likewise.
* df-problems.c (dead_debug_add): Add comment about multi-regs.
(dead_debug_insert_temp): Likewise. Don't subreg when we're
setting fewer regs than a multi-reg requires.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug debug/53740] [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada
2012-06-21 6:54 [Bug debug/53740] New: [4.8 Regression] --enable-checking=yes,rtl bootstrap failure with ada jakub at gcc dot gnu.org
` (8 preceding siblings ...)
2012-06-28 7:40 ` aoliva at gcc dot gnu.org
@ 2012-06-28 7:46 ` aoliva at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: aoliva at gcc dot gnu.org @ 2012-06-28 7:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53740
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #8 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-28 07:39:33 UTC ---
Author: aoliva
Date: Thu Jun 28 07:39:25 2012
New Revision: 189036
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=189036
Log:
PR debug/53740
PR debug/52983
PR debug/48866
* dce.c (word_dce_process_block): Check whether inserting debug
temps are needed even for needed insns.
(dce_process_block): Likewise.
* df-problems.c (dead_debug_add): Add comment about multi-regs.
(dead_debug_insert_temp): Likewise. Don't subreg when we're
setting fewer regs than a multi-reg requires.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dce.c
trunk/gcc/df-problems.c
--- Comment #9 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-06-28 07:46:17 UTC ---
Fixed
^ permalink raw reply [flat|nested] 11+ messages in thread