* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
@ 2010-07-20 21:38 ` hp at gcc dot gnu dot org
2010-07-20 21:46 ` hp at gcc dot gnu dot org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: hp at gcc dot gnu dot org @ 2010-07-20 21:38 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from hp at gcc dot gnu dot org 2010-07-20 21:38 -------
Created an attachment (id=21270)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21270&action=view)
preprocessed libgcc2.i
Compile with cc1 -fpreprocessed -march=v32 -O2 libgcc2.i.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
2010-07-20 21:38 ` [Bug middle-end/45009] " hp at gcc dot gnu dot org
@ 2010-07-20 21:46 ` hp at gcc dot gnu dot org
2010-07-20 21:56 ` hp at gcc dot gnu dot org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: hp at gcc dot gnu dot org @ 2010-07-20 21:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from hp at gcc dot gnu dot org 2010-07-20 21:46 -------
(gdb) r -fpreprocessed -march=v32 -O2 libgcc2.i
Starting program: /tmp/hpautotest-gcc1/cris-elf/gccobj/gcc/cc1 -fpreprocessed
-march=v32 -O2 libgcc2.i
__muldc3
Analyzing compilation unit
Performing interprocedural optimizations
<*free_lang_data> <visibility> <early_local_cleanups> <whole-program>
<ipa-profile> <cp> <inline> <pure-const> <static-var>Assembling functions:
__muldc3
Program received signal SIGSEGV, Segmentation fault.
0x000000000083d1d5 in reload_combine_recognize_pattern (insn=0x7ffff7d00708)
at /tmp/hpautotest-gcc1/gcc/gcc/postreload.c:1193
1193 fixup_debug_insns (reg, reg_sum, insn,
lowest_ruid->insn);
Missing separate debuginfos, use: debuginfo-install
elfutils-libelf-0.145-1.fc12.x86_64 glibc-2.11.1-1.x86_64
(gdb) bt
#0 0x000000000083d1d5 in reload_combine_recognize_pattern
(insn=0x7ffff7d00708)
at /tmp/hpautotest-gcc1/gcc/gcc/postreload.c:1193
#1 0x000000000083d621 in reload_combine () at
/tmp/hpautotest-gcc1/gcc/gcc/postreload.c:1316
#2 0x000000000083aaac in reload_cse_regs (first=0x7ffff7e29c40) at
/tmp/hpautotest-gcc1/gcc/gcc/postreload.c:72
#3 0x000000000083fb04 in rest_of_handle_postreload () at
/tmp/hpautotest-gcc1/gcc/gcc/postreload.c:2198
#4 0x0000000000835cf6 in execute_one_pass (pass=0x11fc300) at
/tmp/hpautotest-gcc1/gcc/gcc/passes.c:1563
#5 0x0000000000835edf in execute_pass_list (pass=0x11fc300) at
/tmp/hpautotest-gcc1/gcc/gcc/passes.c:1618
#6 0x0000000000835f00 in execute_pass_list (pass=0x11fc1e0) at
/tmp/hpautotest-gcc1/gcc/gcc/passes.c:1619
#7 0x0000000000835f00 in execute_pass_list (pass=0x11fc180) at
/tmp/hpautotest-gcc1/gcc/gcc/passes.c:1619
#8 0x000000000099120e in tree_rest_of_compilation (fndecl=0x7ffff7f88e00)
at /tmp/hpautotest-gcc1/gcc/gcc/tree-optimize.c:452
#9 0x0000000000bd13ed in cgraph_expand_function (node=0x7ffff7e24000)
at /tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1629
#10 0x0000000000bd1685 in cgraph_expand_all_functions () at
/tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1708
#11 0x0000000000bd1caa in cgraph_optimize () at
/tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1964
#12 0x0000000000bcf6d5 in cgraph_finalize_compilation_unit () at
/tmp/hpautotest-gcc1/gcc/gcc/cgraphunit.c:1171
#13 0x000000000042f386 in c_write_global_declarations () at
/tmp/hpautotest-gcc1/gcc/gcc/c-decl.c:9698
#14 0x0000000000904501 in compile_file () at
/tmp/hpautotest-gcc1/gcc/gcc/toplev.c:990
#15 0x0000000000906629 in do_compile () at
/tmp/hpautotest-gcc1/gcc/gcc/toplev.c:2333
#16 0x00000000009066f7 in toplev_main (argc=5, argv=0x7fffffffe128) at
/tmp/hpautotest-gcc1/gcc/gcc/toplev.c:2374
#17 0x00000000004da6e0 in main (argc=5, argv=0x7fffffffe128) at
/tmp/hpautotest-gcc1/gcc/gcc/main.c:36
(gdb) p insn
$1 = (rtx) 0x7ffff7d00708
(gdb) pr
(insn 1423 1422 173 5 /tmp/hpautotest-gcc1/gcc/libgcc/../gcc/libgcc2.c:1844
(set (reg:SI 9 r9)
(plus:SI (reg:SI 9 r9)
(reg/f:SI 14 sp))) 74 {*addsi3_v32} (expr_list:REG_EQUIV (plus:SI
(reg/f:SI 14 sp)
(const_int 43 [0x2b]))
(nil)))
(gdb) l
1188 use->ruid,
use->containing_mem);
1189 if (lowest_ruid == NULL || use->ruid <
lowest_ruid->ruid)
1190 lowest_ruid = use;
1191 }
1192
1193 fixup_debug_insns (reg, reg_sum, insn,
lowest_ruid->insn);
1194
1195 /* Delete the reg-reg addition. */
1196 delete_insn (insn);
1197
(gdb) p lowest_ruid
$2 = (struct reg_use *) 0x0
FWIW, the insn is valid.
--
hp at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2010-07-20 21:46:33
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
2010-07-20 21:38 ` [Bug middle-end/45009] " hp at gcc dot gnu dot org
2010-07-20 21:46 ` hp at gcc dot gnu dot org
@ 2010-07-20 21:56 ` hp at gcc dot gnu dot org
2010-07-20 23:21 ` jakub at gcc dot gnu dot org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: hp at gcc dot gnu dot org @ 2010-07-20 21:56 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from hp at gcc dot gnu dot org 2010-07-20 21:56 -------
The backtrace in #2 was for r162355.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (2 preceding siblings ...)
2010-07-20 21:56 ` hp at gcc dot gnu dot org
@ 2010-07-20 23:21 ` jakub at gcc dot gnu dot org
2010-07-20 23:30 ` hp at gcc dot gnu dot org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: jakub at gcc dot gnu dot org @ 2010-07-20 23:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from jakub at gcc dot gnu dot org 2010-07-20 23:21 -------
postreload.c ICE would be more probably related to r162342 than to r162336.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (3 preceding siblings ...)
2010-07-20 23:21 ` jakub at gcc dot gnu dot org
@ 2010-07-20 23:30 ` hp at gcc dot gnu dot org
2010-07-20 23:46 ` bernds at gcc dot gnu dot org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: hp at gcc dot gnu dot org @ 2010-07-20 23:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from hp at gcc dot gnu dot org 2010-07-20 23:30 -------
(In reply to comment #4)
> postreload.c ICE would be more probably related to r162342 than to r162336.
Right, let's see what Bernd has to say. With the information in the PR, the
solution is likely trivial to him.
--
hp at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bernds at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (4 preceding siblings ...)
2010-07-20 23:30 ` hp at gcc dot gnu dot org
@ 2010-07-20 23:46 ` bernds at gcc dot gnu dot org
2010-07-21 9:10 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bernds at gcc dot gnu dot org @ 2010-07-20 23:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from bernds at gcc dot gnu dot org 2010-07-20 23:45 -------
Looks like it's making replacements in zero insns. I expected the code to fail
earlier if there aren't any uses of the reg.
I'll fix this tomorrow.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (5 preceding siblings ...)
2010-07-20 23:46 ` bernds at gcc dot gnu dot org
@ 2010-07-21 9:10 ` rguenth at gcc dot gnu dot org
2010-07-21 15:54 ` [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine" hp at gcc dot gnu dot org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-07-21 9:10 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.6.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine"
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (6 preceding siblings ...)
2010-07-21 9:10 ` rguenth at gcc dot gnu dot org
@ 2010-07-21 15:54 ` hp at gcc dot gnu dot org
2010-07-21 22:49 ` bernds at gcc dot gnu dot org
2010-07-22 2:43 ` hp at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: hp at gcc dot gnu dot org @ 2010-07-21 15:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from hp at gcc dot gnu dot org 2010-07-21 15:54 -------
Correcting the summary to point at the right cause. Maybe the following
somewhat obvious change is correct, though I'd prefer to leave it to Bernd.
Index: postreload.c
===================================================================
--- postreload.c (revision 162380)
+++ postreload.c (working copy)
@@ -1190,7 +1190,8 @@
lowest_ruid = use;
}
- fixup_debug_insns (reg, reg_sum, insn, lowest_ruid->insn);
+ if (lowest_ruid != NULL)
+ fixup_debug_insns (reg, reg_sum, insn, lowest_ruid->insn);
/* Delete the reg-reg addition. */
delete_insn (insn);
--
hp at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.6 Regression]: cris-elf |[4.6 Regression]: cris-elf
|libgcc build failure due to |libgcc build failure due to
|fix for PR45003, PR45006 |"New optimization for
| |reload_combine"
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine"
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (7 preceding siblings ...)
2010-07-21 15:54 ` [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine" hp at gcc dot gnu dot org
@ 2010-07-21 22:49 ` bernds at gcc dot gnu dot org
2010-07-22 2:43 ` hp at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: bernds at gcc dot gnu dot org @ 2010-07-21 22:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from bernds at gcc dot gnu dot org 2010-07-21 22:48 -------
Subject: Bug 45009
Author: bernds
Date: Wed Jul 21 22:48:14 2010
New Revision: 162390
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162390
Log:
PR bootstrap/44970
PR middle-end/45009
* postreload.c: Include "target.h".
(reload_combine_closest_single_use): Don't take DEBUG_INSNs
into account.
(fixup_debug_insns): Don't copy the rtx.
(reload_combine_recognize_const_pattern): DEBUG_INSNs can't
have uses. Don't copy when replacing. Call fixup_debug_insns
in the case where we merged one add with another.
(reload_combine_recognize_pattern): Fail if there aren't any
uses. Try harder to determine whether we're picking a valid
index register. Don't set store_ruid for an insn we're going
to scan in the next iteration.
(reload_combine): Remove unused code.
(reload_combine_note_use): When updating use information for
an old insn, ignore a use that occurs after store_ruid.
* Makefile.in (postreload.o): Update dependencies.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/postreload.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug middle-end/45009] [4.6 Regression]: cris-elf libgcc build failure due to "New optimization for reload_combine"
2010-07-20 21:32 [Bug middle-end/45009] New: [4.6 Regression]: cris-elf libgcc build failure due to fix for PR45003, PR45006 hp at gcc dot gnu dot org
` (8 preceding siblings ...)
2010-07-21 22:49 ` bernds at gcc dot gnu dot org
@ 2010-07-22 2:43 ` hp at gcc dot gnu dot org
9 siblings, 0 replies; 11+ messages in thread
From: hp at gcc dot gnu dot org @ 2010-07-22 2:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from hp at gcc dot gnu dot org 2010-07-22 02:43 -------
Confirmed fixed, r162392 tested, no regressions compared to r162328.
--
hp at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45009
^ permalink raw reply [flat|nested] 11+ messages in thread