public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
@ 2010-11-25  1:48 zsojka at seznam dot cz
  2010-11-25  6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2010-11-25  1:48 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

           Summary: [4.6 Regression] ICE: in move_bb_info, at
                    sel-sched-ir.c:5080 with -fschedule-insns
                    -fselective-scheduling
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
            Target: x86_64-pc-linux-gnu


Created attachment 22522
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22522
g++.dg/parse/break-in-for.C

Compiler output:
$ gcc -fschedule-insns -fselective-scheduling break-in-for.C
break-in-for.C: In function 'void foo()':
break-in-for.C:11:1: internal compiler error: in move_bb_info, at
sel-sched-ir.c:5080
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Tested revisions:
r167127 - crash
r167054 - crash
r165699 - OK
4.5 r166509 - OK


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
@ 2010-11-25  6:27 ` hjl.tools at gmail dot com
  2010-11-25  8:05 ` ebotcazou at gcc dot gnu.org
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: hjl.tools at gmail dot com @ 2010-11-25  6:27 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.11.25 03:38:54
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org
   Target Milestone|---                         |4.6.0
     Ever Confirmed|0                           |1

--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2010-11-25 03:38:54 UTC ---
It is caused by revision 165897:

http://gcc.gnu.org/ml/gcc-cvs/2010-10/msg01084.html


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
  2010-11-25  6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
@ 2010-11-25  8:05 ` ebotcazou at gcc dot gnu.org
  2010-11-25 10:01 ` amonakov at gcc dot gnu.org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2010-11-25  8:05 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2010-11-25 06:27:01 UTC ---
Non-sensical set of options.  Let's disable -fselective-scheduling if
!optimize.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
  2010-11-25  6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
  2010-11-25  8:05 ` ebotcazou at gcc dot gnu.org
@ 2010-11-25 10:01 ` amonakov at gcc dot gnu.org
  2010-11-25 19:34 ` zsojka at seznam dot cz
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-11-25 10:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

Alexander Monakov <amonakov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |amonakov at gcc dot gnu.org
         Resolution|                            |DUPLICATE

--- Comment #3 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-11-25 09:42:35 UTC ---
Known issue: sel-sched chokes on NOPs in input stream.  A fix will land on
trunk soon.

*** This bug has been marked as a duplicate of bug 46585 ***


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2010-11-25 10:01 ` amonakov at gcc dot gnu.org
@ 2010-11-25 19:34 ` zsojka at seznam dot cz
  2010-11-25 22:37 ` amonakov at gcc dot gnu.org
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2010-11-25 19:34 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

Zdenek Sojka <zsojka at seznam dot cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|DUPLICATE                   |

--- Comment #4 from Zdenek Sojka <zsojka at seznam dot cz> 2010-11-25 18:26:12 UTC ---
It still fails in r167147:

$ gcc -fschedule-insns -fselective-scheduling break-in-for.C
break-in-for.C: In function 'void foo()':
break-in-for.C:11:1: internal compiler error: in move_bb_info, at
sel-sched-ir.c:5088
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2010-11-25 19:34 ` zsojka at seznam dot cz
@ 2010-11-25 22:37 ` amonakov at gcc dot gnu.org
  2010-12-14 13:28 ` amonakov at gcc dot gnu.org
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-11-25 22:37 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

Alexander Monakov <amonakov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |ASSIGNED
         AssignedTo|unassigned at gcc dot       |amonakov at gcc dot gnu.org
                   |gnu.org                     |

--- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-11-25 21:37:44 UTC ---
Okay, I didn't notice at first that it's a C++ testcase (does not fail as C). 
Well, this time sel-sched  can not deal with an empty loop header.


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2010-11-25 22:37 ` amonakov at gcc dot gnu.org
@ 2010-12-14 13:28 ` amonakov at gcc dot gnu.org
  2010-12-14 14:39 ` amonakov at gcc dot gnu.org
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-14 13:28 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

--- Comment #6 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-14 13:28:06 UTC ---
Even though it is possible to unbreak
purge_empty_blocks/maybe_tidy_empty_bb/sel_merge_blocks for this case, I think
it's not worth it given that sel-sched generally expects somewhat clean CFG. 
So, just cleanup CFG at -O0.

I'll submit the following patch in a moment.

diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 3b5603c..5fe9ccb 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -7648,6 +7648,11 @@ run_selective_scheduling (void)
   if (n_basic_blocks == NUM_FIXED_BLOCKS)
     return;

+  /* Drop empty basic blocks, unreachable code, etc. if the scheduler is
+     invoked at -O0.  */
+  if (!optimize)
+    cleanup_cfg (0);
+
   sel_global_init ();

   for (rgn = 0; rgn < nr_regions; rgn++)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2010-12-14 13:28 ` amonakov at gcc dot gnu.org
@ 2010-12-14 14:39 ` amonakov at gcc dot gnu.org
  2010-12-15 13:09 ` amonakov at gcc dot gnu.org
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-14 14:39 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

--- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-14 14:38:38 UTC ---
After a discussion with Andrey and refreshing my memory on that code I think
it's actually better to unbreak purge_empty_blocks in this case.  It used to be
correct, i.e. it never attempted to delete the first BB in the region; then I
broke it because I wasn't aware of the limitation w.r.t. removal of the first
BB.

Sorry for the spam.

diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 427fd22..9f0c4a3 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -3749,10 +3749,10 @@ tidy_control_flow (basic_block xbb, bool full_tidying)
 void
 purge_empty_blocks (void)
 {
-  /* Do not attempt to delete preheader.  */
-  int i = sel_is_loop_preheader_p (BASIC_BLOCK (BB_TO_BLOCK (0))) ? 1 : 0;
+  int i;

-  while (i < current_nr_blocks)
+  /* Do not attempt to delete the first basic block in the region.  */
+  for (i = 1; i < current_nr_blocks; i++)
     {
       basic_block b = BASIC_BLOCK (BB_TO_BLOCK (i));


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (7 preceding siblings ...)
  2010-12-15 13:09 ` amonakov at gcc dot gnu.org
@ 2010-12-15 13:09 ` amonakov at gcc dot gnu.org
  2011-04-07  7:01 ` abel at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-15 13:09 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

--- Comment #8 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-15 13:08:47 UTC ---
Author: amonakov
Date: Wed Dec 15 13:08:41 2010
New Revision: 167854

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167854
Log:
    PR rtl-optimization/46649
    * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
    basic block in the region.

testsuite:
    * g++.dg/opt/pr46649.C: New.


Added:
    trunk/gcc/testsuite/g++.dg/opt/pr46649.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/sel-sched-ir.c
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2010-12-14 14:39 ` amonakov at gcc dot gnu.org
@ 2010-12-15 13:09 ` amonakov at gcc dot gnu.org
  2010-12-15 13:09 ` amonakov at gcc dot gnu.org
  2011-04-07  7:01 ` abel at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-15 13:09 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

Alexander Monakov <amonakov at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

--- Comment #9 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-15 13:09:35 UTC ---
Fixed


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
  2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
                   ` (8 preceding siblings ...)
  2010-12-15 13:09 ` amonakov at gcc dot gnu.org
@ 2011-04-07  7:01 ` abel at gcc dot gnu.org
  9 siblings, 0 replies; 11+ messages in thread
From: abel at gcc dot gnu.org @ 2011-04-07  7:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649

--- Comment #10 from Andrey Belevantsev <abel at gcc dot gnu.org> 2011-04-07 07:01:30 UTC ---
Author: abel
Date: Thu Apr  7 07:01:25 2011
New Revision: 172086

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172086
Log:
        Backport from mainline
        2010-12-15  Alexander Monakov  <amonakov@ispras.ru>

        PR rtl-optimization/46649
        * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
        basic block in the region.


Added:
    branches/gcc-4_5-branch/gcc/testsuite/g++.dg/opt/pr46649.C
Modified:
    branches/gcc-4_5-branch/gcc/ChangeLog
    branches/gcc-4_5-branch/gcc/sel-sched-ir.c
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-04-07  7:01 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-25  1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
2010-11-25  6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
2010-11-25  8:05 ` ebotcazou at gcc dot gnu.org
2010-11-25 10:01 ` amonakov at gcc dot gnu.org
2010-11-25 19:34 ` zsojka at seznam dot cz
2010-11-25 22:37 ` amonakov at gcc dot gnu.org
2010-12-14 13:28 ` amonakov at gcc dot gnu.org
2010-12-14 14:39 ` amonakov at gcc dot gnu.org
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2011-04-07  7:01 ` abel 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).