* [Bug tree-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
@ 2006-07-26 4:51 ` tbm at cyrius dot com
2006-07-26 5:02 ` tbm at cyrius dot com
` (14 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tbm at cyrius dot com @ 2006-07-26 4:51 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from tbm at cyrius dot com 2006-07-26 04:51 -------
Created an attachment (id=11943)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11943&action=view)
testcase
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
2006-07-26 4:51 ` [Bug tree-optimization/28489] " tbm at cyrius dot com
@ 2006-07-26 5:02 ` tbm at cyrius dot com
2006-07-26 8:05 ` rguenth at gcc dot gnu dot org
` (13 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tbm at cyrius dot com @ 2006-07-26 5:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from tbm at cyrius dot com 2006-07-26 05:02 -------
This has started to occur between 20060218 and 20060325.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug tree-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
2006-07-26 4:51 ` [Bug tree-optimization/28489] " tbm at cyrius dot com
2006-07-26 5:02 ` tbm at cyrius dot com
@ 2006-07-26 8:05 ` rguenth at gcc dot gnu dot org
2006-07-26 9:26 ` [Bug rtl-optimization/28489] " pinskia at gcc dot gnu dot org
` (12 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-26 8:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2006-07-26 08:05 -------
Confirmed.
--
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
Last reconfirmed|0000-00-00 00:00:00 |2006-07-26 08:05:42
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (2 preceding siblings ...)
2006-07-26 8:05 ` rguenth at gcc dot gnu dot org
@ 2006-07-26 9:26 ` pinskia at gcc dot gnu dot org
2006-07-26 13:48 ` tbm at cyrius dot com
` (11 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-07-26 9:26 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pinskia at gcc dot gnu dot
| |org
Component|tree-optimization |rtl-optimization
Target Milestone|--- |4.2.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (3 preceding siblings ...)
2006-07-26 9:26 ` [Bug rtl-optimization/28489] " pinskia at gcc dot gnu dot org
@ 2006-07-26 13:48 ` tbm at cyrius dot com
2006-07-29 10:46 ` tbm at cyrius dot com
` (10 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tbm at cyrius dot com @ 2006-07-26 13:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from tbm at cyrius dot com 2006-07-26 13:48 -------
Created an attachment (id=11947)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11947&action=view)
test case
Testcase from application 'john'.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (4 preceding siblings ...)
2006-07-26 13:48 ` tbm at cyrius dot com
@ 2006-07-29 10:46 ` tbm at cyrius dot com
2006-07-29 10:57 ` steven at gcc dot gnu dot org
` (9 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tbm at cyrius dot com @ 2006-07-29 10:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from tbm at cyrius dot com 2006-07-29 10:45 -------
Created an attachment (id=11964)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11964&action=view)
test case
Testcase from application "kvirc".
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (5 preceding siblings ...)
2006-07-29 10:46 ` tbm at cyrius dot com
@ 2006-07-29 10:57 ` steven at gcc dot gnu dot org
2006-07-29 23:59 ` tbm at cyrius dot com
` (8 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-07-29 10:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from steven at gcc dot gnu dot org 2006-07-29 10:57 -------
Please stop adding test cases!!! :-)
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2006-07-26 08:05:42 |2006-07-29 10:57:44
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (6 preceding siblings ...)
2006-07-29 10:57 ` steven at gcc dot gnu dot org
@ 2006-07-29 23:59 ` tbm at cyrius dot com
2006-07-31 23:34 ` mmitchel at gcc dot gnu dot org
` (7 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: tbm at cyrius dot com @ 2006-07-29 23:59 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from tbm at cyrius dot com 2006-07-29 23:59 -------
Created an attachment (id=11968)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11968&action=view)
test case
Testcase from application "rlwarp".
This one is especially for Steven. :) FWIW, it's smaller than any other
testcase so far.
Oh, and I have two more to come...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (7 preceding siblings ...)
2006-07-29 23:59 ` tbm at cyrius dot com
@ 2006-07-31 23:34 ` mmitchel at gcc dot gnu dot org
2006-08-01 18:23 ` sje at cup dot hp dot com
` (6 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-07-31 23:34 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (8 preceding siblings ...)
2006-07-31 23:34 ` mmitchel at gcc dot gnu dot org
@ 2006-08-01 18:23 ` sje at cup dot hp dot com
2006-08-02 13:44 ` mkuvyrkov at gcc dot gnu dot org
` (5 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: sje at cup dot hp dot com @ 2006-08-01 18:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from sje at cup dot hp dot com 2006-08-01 18:22 -------
The time that this started occurring looks to be about the time that Maxim was
making scheduling changes for IA64 speculation. Maxim could you look at this
bug and see if it is related to any of your changes to IA64 scheduling? I did
a little analysis and it looks like we are merging/concatinated two basic
blocks (3 and 7) but we wind up with a NOTE_INSN_BASIC_BLOCK for block 7 in the
middle of the merged basic block 3.
(I tried to add mkuvyrkov@ispras.ru to the CC list but Bugzilla wouldn't do it.
I will send Maxim email seperately.)
--
sje at cup dot hp dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sje at cup dot hp dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (9 preceding siblings ...)
2006-08-01 18:23 ` sje at cup dot hp dot com
@ 2006-08-02 13:44 ` mkuvyrkov at gcc dot gnu dot org
2006-08-02 13:49 ` mkuvyrkov at gcc dot gnu dot org
` (4 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-08-02 13:44 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from mkuvyrkov at gcc dot gnu dot org 2006-08-02 13:44 -------
(In reply to comment #8)
> The time that this started occurring looks to be about the time that Maxim was
> making scheduling changes for IA64 speculation. Maxim could you look at this
> bug and see if it is related to any of your changes to IA64 scheduling? I did
> a little analysis and it looks like we are merging/concatinated two basic
> blocks (3 and 7) but we wind up with a NOTE_INSN_BASIC_BLOCK for block 7 in the
> middle of the merged basic block 3.
That's my bug, sorry.
In this testcase we hit a rare case when we end up with dead code during
scheduling.
More specifically:
--------------------------
(insn 127 128 108 3 (set (reg:DI 332 ar.lc)
(reg:DI 35 r35)) 5 {*movdi_internal} (nil)
(expr_list:REG_DEAD (reg:DI 35 r35)
(nil)))
(call_insn/j 108 127 146 3 (call (mem:DI (symbol_ref:DI ("cr") [flags 0x3]
<function_decl 0x2000000000449500 cr>) [0 S8 A64])
(const_int 0 [0x0])) 321 {sibcall_nogp} (nil)
(expr_list:REG_EH_REGION (const_int 0 [0x0])
(nil))
(expr_list:REG_DEP_TRUE (use (reg:DI 320 b0))
(expr_list:REG_DEP_TRUE (use (reg:DI 1 r1))
(nil))))
-----------------------
More specifically, a call (108) - which will exit from the function - is
scheduled before insn (127) thus making it dead. To schedule the dead insn we
should create an empty basic block right after call. But I've made a mistake
and current code creates new basic block just before it.
While debugging one of the above testcases I've also discovered another problem
in switching between blocks in the ebb. While switching to the next block we
should skip empty ones so that jumps won't be moved across blocks when not
particularly needed.
The attached patch works for all testcases and as soon as regtesting is over
I'll post it to gcc-patches list.
>
> (I tried to add mkuvyrkov@ispras.ru to the CC list but Bugzilla wouldn't do it.
It is because mkuvyrkov@ispras.ru doesn't have a Bugzilla account.
You could've add mkuvyrkov@gcc.gnu.org .
Thanks for the testcases. It is good to have several testcases as only one of
them revealed the second problem.
Thanks,
Maxim
--
mkuvyrkov at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mkuvyrkov at gcc dot gnu dot
| |org
AssignedTo|unassigned at gcc dot gnu |mkuvyrkov at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2006-07-29 10:57:44 |2006-08-02 13:44:23
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (10 preceding siblings ...)
2006-08-02 13:44 ` mkuvyrkov at gcc dot gnu dot org
@ 2006-08-02 13:49 ` mkuvyrkov at gcc dot gnu dot org
2006-08-03 12:03 ` mkuvyrkov at gcc dot gnu dot org
` (3 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-08-02 13:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from mkuvyrkov at gcc dot gnu dot org 2006-08-02 13:49 -------
Created an attachment (id=11997)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11997&action=view)
Patch
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (11 preceding siblings ...)
2006-08-02 13:49 ` mkuvyrkov at gcc dot gnu dot org
@ 2006-08-03 12:03 ` mkuvyrkov at gcc dot gnu dot org
2006-08-04 21:18 ` sje at cup dot hp dot com
` (2 subsequent siblings)
15 siblings, 0 replies; 17+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-08-03 12:03 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from mkuvyrkov at gcc dot gnu dot org 2006-08-03 12:03 -------
(In reply to comment #10)
> Created an attachment (id=11997)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11997&action=view) [edit]
> Patch
>
This patch bootstraps and has no new regression on {i386, ia64}-linux-gnu.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (12 preceding siblings ...)
2006-08-03 12:03 ` mkuvyrkov at gcc dot gnu dot org
@ 2006-08-04 21:18 ` sje at cup dot hp dot com
2006-08-17 8:48 ` mkuvyrkov at gcc dot gnu dot org
2006-08-17 8:52 ` mkuvyrkov at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: sje at cup dot hp dot com @ 2006-08-04 21:18 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from sje at cup dot hp dot com 2006-08-04 21:18 -------
The bootstrap and testing on my ia64 HP-UX system also had no regressions with
this patch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (13 preceding siblings ...)
2006-08-04 21:18 ` sje at cup dot hp dot com
@ 2006-08-17 8:48 ` mkuvyrkov at gcc dot gnu dot org
2006-08-17 8:52 ` mkuvyrkov at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-08-17 8:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from mkuvyrkov at gcc dot gnu dot org 2006-08-17 08:48 -------
Subject: Bug 28489
Author: mkuvyrkov
Date: Thu Aug 17 08:48:37 2006
New Revision: 116214
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116214
Log:
2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR rtl-optimization/28489
* sched-ebb.c (begin_schedule_ready): Create basic block
at the right place.
(advance_target_bb): Skip empty blocks.
* haifa-sched.c (bb_note): Make global.
* sched-int.h (bb_note): Add prototype.
2006-08-17 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
PR rtl-optimization/28489
* gcc.c-torture/compile/pr28489.c: New test.
Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr28489.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/haifa-sched.c
trunk/gcc/sched-ebb.c
trunk/gcc/sched-int.h
trunk/gcc/testsuite/ChangeLog
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread
* [Bug rtl-optimization/28489] [4.2 regression] ICE in move_insn, at haifa-sched.c:1968
2006-07-26 4:51 [Bug tree-optimization/28489] New: [4.2 regression] ICE in move_insn, at haifa-sched.c:1968 tbm at cyrius dot com
` (14 preceding siblings ...)
2006-08-17 8:48 ` mkuvyrkov at gcc dot gnu dot org
@ 2006-08-17 8:52 ` mkuvyrkov at gcc dot gnu dot org
15 siblings, 0 replies; 17+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-08-17 8:52 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from mkuvyrkov at gcc dot gnu dot org 2006-08-17 08:52 -------
Fixed by the earlier attached patch.
--
mkuvyrkov at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28489
^ permalink raw reply [flat|nested] 17+ messages in thread