public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/29128]  New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
@ 2006-09-18 13:37 tbm at cyrius dot com
  2006-09-18 13:38 ` [Bug tree-optimization/29128] " tbm at cyrius dot com
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2006-09-18 13:37 UTC (permalink / raw)
  To: gcc-bugs

I get the following on ia64, but not on e.g. x86_64.

tbm@coconut0:~$ /usr/lib/gcc-snapshot/bin/gcc -c -O2 erlang-beam_emu.c
erlang-beam_emu.c: In function 'process_main':
erlang-beam_emu.c:28: internal compiler error: in move_block_after_check, at
haifa-sched.c:4337
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
tbm@coconut0:~$ /usr/lib/gcc-snapshot/bin/gcc -c -O1 erlang-beam_emu.c
tbm@coconut0:~$ gcc-4.1 -c -O2 erlang-beam_emu.c
tbm@coconut0:~$
tbm@coconut0:~$ cat erlang-beam_emu.c
typedef unsigned long Eterm;
process_main (void)
{
  register Eterm x0;
  register Eterm *reg = ((void *) 0);
  register Eterm *I = ((void *) 0);
  static void *opcodes[] = {
      &&lb_allocate_heap_zero_III,
      &&lb_allocate_init_tIy, &&lb_allocate_zero_tt
  };
lb_allocate_heap_III:{
    Eterm *next;
    goto *(next);
  }
lb_allocate_heap_zero_III:{
  }
lb_allocate_init_tIy:{
  }
lb_allocate_zero_tt:{
    Eterm *next;
    {
      Eterm *tmp_ptr = ((Eterm *) (((x0)) - 0x1));
      (*(Eterm *) (((unsigned char *) reg) + (I[(0) + 1]))) = ((tmp_ptr)[0]);
      x0 = ((tmp_ptr)[1]);
    }
    goto *(next);
  }
}


-- 
           Summary: [4.2 Regression] ICE: in move_block_after_check, at
                    haifa-sched.c:4337
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tbm at cyrius dot com


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


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

* [Bug tree-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
@ 2006-09-18 13:38 ` tbm at cyrius dot com
  2006-09-18 14:33 ` [Bug tree-optimization/29128] " steven at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: tbm at cyrius dot com @ 2006-09-18 13:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from tbm at cyrius dot com  2006-09-18 13:38 -------
Note that this code was affected by PR28489 and while the fix for this PR fixed
the other testcases, this shows the current, new ICE.


-- 

tbm at cyrius dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sje at cup dot hp dot com


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


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

* [Bug tree-optimization/29128] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
  2006-09-18 13:38 ` [Bug tree-optimization/29128] " tbm at cyrius dot com
@ 2006-09-18 14:33 ` steven at gcc dot gnu dot org
  2006-09-18 14:35 ` [Bug tree-optimization/29128] [4.2 Regression] " steven at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-09-18 14:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from steven at gcc dot gnu dot org  2006-09-18 14:33 -------
And this is a regression because...?


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.2 Regression] ICE: in    |ICE: in
                   |move_block_after_check, at  |move_block_after_check, at
                   |haifa-sched.c:4337          |haifa-sched.c:4337


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


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

* [Bug tree-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
  2006-09-18 13:38 ` [Bug tree-optimization/29128] " tbm at cyrius dot com
  2006-09-18 14:33 ` [Bug tree-optimization/29128] " steven at gcc dot gnu dot org
@ 2006-09-18 14:35 ` steven at gcc dot gnu dot org
  2006-09-18 17:21 ` [Bug rtl-optimization/29128] " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-09-18 14:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from steven at gcc dot gnu dot org  2006-09-18 14:34 -------
Because of PR28489.  Right.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
      Known to fail|                            |4.2.0
      Known to work|                            |4.0.3 4.1.1
   Last reconfirmed|0000-00-00 00:00:00         |2006-09-18 14:34:50
               date|                            |
            Summary|ICE: in                     |[4.2 Regression] ICE: in
                   |move_block_after_check, at  |move_block_after_check, at
                   |haifa-sched.c:4337          |haifa-sched.c:4337


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


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

* [Bug rtl-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
                   ` (2 preceding siblings ...)
  2006-09-18 14:35 ` [Bug tree-optimization/29128] [4.2 Regression] " steven at gcc dot gnu dot org
@ 2006-09-18 17:21 ` pinskia at gcc dot gnu dot org
  2006-09-21  2:06 ` mmitchel at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-18 17:21 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.2.0


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


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

* [Bug rtl-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
                   ` (3 preceding siblings ...)
  2006-09-18 17:21 ` [Bug rtl-optimization/29128] " pinskia at gcc dot gnu dot org
@ 2006-09-21  2:06 ` mmitchel at gcc dot gnu dot org
  2006-09-23 15:14 ` steven at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-09-21  2:06 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=29128


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

* [Bug rtl-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
                   ` (4 preceding siblings ...)
  2006-09-21  2:06 ` mmitchel at gcc dot gnu dot org
@ 2006-09-23 15:14 ` steven at gcc dot gnu dot org
  2006-09-23 18:30 ` mkuvyrkov at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu dot org @ 2006-09-23 15:14 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from steven at gcc dot gnu dot org  2006-09-23 15:14 -------
This is where we ICE:

Breakpoint 1, fancy_abort (file=0xbfb788 "../../trunk/gcc/haifa-sched.c",
line=4337,
    function=0xbfc0a0 "move_block_after_check") at
../../trunk/gcc/diagnostic.c:642
642       internal_error ("in %s, at %s:%d", function, trim_filename (file),
line);
(gdb) up
#1  0x0000000000a721d5 in move_block_after_check (jump=0x2aaaaaf8f180)
    at ../../trunk/gcc/haifa-sched.c:4336
4336      gcc_assert (RECOVERY_BLOCK (jump)
(gdb) l
4331      jump_bb = BLOCK_FOR_INSN (jump);
4332      jump_bb_next = jump_bb->next_bb;
4333
4334      update_bb_for_insn (jump_bb);
4335
4336      gcc_assert (RECOVERY_BLOCK (jump)
4337                  || RECOVERY_BLOCK (BB_END (jump_bb_next)));
4338
4339      unlink_block (jump_bb_next);
4340      link_block (jump_bb_next, bb);
(gdb) p debug_rtx(jump)
(jump_insn 93 121 122 7 (set (pc)
        (reg:DI 326 b6)) 330 {indirect_jump} (nil)
    (expr_list:REG_DEAD (reg:DI 326 b6)
        (nil)))
$7 = void
(gdb) p h_i_d[93].recovery_block
$8 = (basic_block) 0x0
(gdb) p debug_bb(jump_bb_next)
;; basic block 8, loop depth 0, count 0
;; prev block 7, next block 1
;; pred:
;; succ:
;; Registers live at start:  (nil)
(note 122 93 94 8 [bb 8] NOTE_INSN_BASIC_BLOCK)
(note 94 122 96 7 [bb 7] NOTE_INSN_BASIC_BLOCK)
;; Registers live at end:  (nil)
$9 = void
(gdb) 


-- 


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


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

* [Bug rtl-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
                   ` (5 preceding siblings ...)
  2006-09-23 15:14 ` steven at gcc dot gnu dot org
@ 2006-09-23 18:30 ` mkuvyrkov at gcc dot gnu dot org
  2006-10-06 21:45 ` mkuvyrkov at gcc dot gnu dot org
  2006-10-06 21:51 ` mkuvyrkov at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-09-23 18:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from mkuvyrkov at gcc dot gnu dot org  2006-09-23 18:30 -------
Created an attachment (id=12315)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12315&action=view)
Patch.

That's my bug, sorry.  The attached patch has only been tested on x86_64;
sadly, I'll be able to run it on ia64 not before Monday.

2006-09-23  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

        PR rtl-optimization/29128
        * sched-ebb.c (advance_target_bb): Use correct condition to
        allow interblock movement of speculation checks.
        * sched-int.h (IS_SPEC_BRANCY_CHECK_P): New macro.

2006-09-23  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

        PR rtl-optimization/29128
        * gcc.c-torture/compile/pr29128.c: New test.


-- 

mkuvyrkov at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |mkuvyrkov at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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


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

* [Bug rtl-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
                   ` (6 preceding siblings ...)
  2006-09-23 18:30 ` mkuvyrkov at gcc dot gnu dot org
@ 2006-10-06 21:45 ` mkuvyrkov at gcc dot gnu dot org
  2006-10-06 21:51 ` mkuvyrkov at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-10-06 21:45 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from mkuvyrkov at gcc dot gnu dot org  2006-10-06 21:45 -------
Subject: Bug 29128

Author: mkuvyrkov
Date: Fri Oct  6 21:45:13 2006
New Revision: 117515

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117515
Log:
2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>

        PR rtl-optimization/29128
        * sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
        * sched-ebb.c (advance_target_bb): Use it to fix condition to
        allow interblock movement of speculation checks.

        * gcc.c-torture/compile/pr29128.c: New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/pr29128.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/sched-ebb.c
    trunk/gcc/sched-int.h
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug rtl-optimization/29128] [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337
  2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
                   ` (7 preceding siblings ...)
  2006-10-06 21:45 ` mkuvyrkov at gcc dot gnu dot org
@ 2006-10-06 21:51 ` mkuvyrkov at gcc dot gnu dot org
  8 siblings, 0 replies; 10+ messages in thread
From: mkuvyrkov at gcc dot gnu dot org @ 2006-10-06 21:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from mkuvyrkov at gcc dot gnu dot org  2006-10-06 21:51 -------
Fixed by the above 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=29128


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

end of thread, other threads:[~2006-10-06 21:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-09-18 13:37 [Bug tree-optimization/29128] New: [4.2 Regression] ICE: in move_block_after_check, at haifa-sched.c:4337 tbm at cyrius dot com
2006-09-18 13:38 ` [Bug tree-optimization/29128] " tbm at cyrius dot com
2006-09-18 14:33 ` [Bug tree-optimization/29128] " steven at gcc dot gnu dot org
2006-09-18 14:35 ` [Bug tree-optimization/29128] [4.2 Regression] " steven at gcc dot gnu dot org
2006-09-18 17:21 ` [Bug rtl-optimization/29128] " pinskia at gcc dot gnu dot org
2006-09-21  2:06 ` mmitchel at gcc dot gnu dot org
2006-09-23 15:14 ` steven at gcc dot gnu dot org
2006-09-23 18:30 ` mkuvyrkov at gcc dot gnu dot org
2006-10-06 21:45 ` mkuvyrkov at gcc dot gnu dot org
2006-10-06 21:51 ` mkuvyrkov at gcc dot gnu dot 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).