public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
@ 2012-06-06 12:53 jakub at gcc dot gnu.org
  2012-06-06 13:11 ` [Bug rtl-optimization/53589] " jakub at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-06 12:53 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53589
           Summary: [4.7/4.8 Regression] ICE in maybe_record_trace_start
                    with asm goto
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: jakub@gcc.gnu.org
        ReportedBy: jakub@gcc.gnu.org


extern void foo (void) __attribute__ ((__noreturn__));

void
bar (int x)
{
  if (x < 0)
    foo ();
  if (x == 0)
    return;
  __asm goto ("" : : : : lab);
lab:;
}

ICEs on x86_64-linux:
LC_ALL=C ./cc1 -O2 rh829247.c -quiet
rh829247.c: In function 'bar':
rh829247.c:12:1: internal compiler error: in maybe_record_trace_start, at
dwarf2cfi.c:2193
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The problem is that we end up with asm goto that branches to the fallthru label
and shrink-wrapping wants to redirect the edge, but leaves broken CFG around.


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

* [Bug rtl-optimization/53589] [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
  2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
@ 2012-06-06 13:11 ` jakub at gcc dot gnu.org
  2012-06-06 13:17 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-06 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2012-06-06
      Known to work|                            |4.6.2
   Target Milestone|---                         |4.7.1
     Ever Confirmed|0                           |1
      Known to fail|                            |4.7.0, 4.8.0

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-06 13:11:30 UTC ---
Started with -fshrink-wrap addition
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179553


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

* [Bug rtl-optimization/53589] [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
  2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
  2012-06-06 13:11 ` [Bug rtl-optimization/53589] " jakub at gcc dot gnu.org
@ 2012-06-06 13:17 ` jakub at gcc dot gnu.org
  2012-06-12  7:53 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-06 13:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-06 13:16:53 UTC ---
Created attachment 27562
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27562
gcc48-pr53589.patch

Untested fix.


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

* [Bug rtl-optimization/53589] [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
  2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
  2012-06-06 13:11 ` [Bug rtl-optimization/53589] " jakub at gcc dot gnu.org
  2012-06-06 13:17 ` jakub at gcc dot gnu.org
@ 2012-06-12  7:53 ` jakub at gcc dot gnu.org
  2012-06-14  8:42 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-12  7:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-12 07:52:53 UTC ---
Author: jakub
Date: Tue Jun 12 07:52:47 2012
New Revision: 188428

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188428
Log:
    PR rtl-optimization/53589
    * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
    discovery even when e->dest != target.  If any LABEL_REF points
    to e->dest label, redirect it to target's label.

    * gcc.dg/torture/pr53589.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/torture/pr53589.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgrtl.c
    trunk/gcc/testsuite/ChangeLog


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

* [Bug rtl-optimization/53589] [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
  2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2012-06-12  7:53 ` jakub at gcc dot gnu.org
@ 2012-06-14  8:42 ` rguenth at gcc dot gnu.org
  2012-06-14 17:50 ` jakub at gcc dot gnu.org
  2012-06-15 11:11 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-06-14  8:42 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.7.1                       |4.7.2

--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-06-14 08:42:18 UTC ---
GCC 4.7.1 is being released, adjusting target milestone.


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

* [Bug rtl-optimization/53589] [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
  2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2012-06-14  8:42 ` rguenth at gcc dot gnu.org
@ 2012-06-14 17:50 ` jakub at gcc dot gnu.org
  2012-06-15 11:11 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-14 17:50 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-14 17:49:54 UTC ---
Author: jakub
Date: Thu Jun 14 17:49:49 2012
New Revision: 188626

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=188626
Log:
    Backported from mainline
    2012-06-12  Jakub Jelinek  <jakub@redhat.com>

    PR rtl-optimization/53589
    * cfgrtl.c (force_nonfallthru_and_redirect): Do asm_goto_edge
    discovery even when e->dest != target.  If any LABEL_REF points
    to e->dest label, redirect it to target's label.

    * gcc.dg/torture/pr53589.c: New test.

Added:
    branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/torture/pr53589.c
Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/cfgrtl.c
    branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


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

* [Bug rtl-optimization/53589] [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto
  2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2012-06-14 17:50 ` jakub at gcc dot gnu.org
@ 2012-06-15 11:11 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-06-15 11:11 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-06-15 11:10:45 UTC ---
Fixed.


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

end of thread, other threads:[~2012-06-15 11:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-06 12:53 [Bug rtl-optimization/53589] New: [4.7/4.8 Regression] ICE in maybe_record_trace_start with asm goto jakub at gcc dot gnu.org
2012-06-06 13:11 ` [Bug rtl-optimization/53589] " jakub at gcc dot gnu.org
2012-06-06 13:17 ` jakub at gcc dot gnu.org
2012-06-12  7:53 ` jakub at gcc dot gnu.org
2012-06-14  8:42 ` rguenth at gcc dot gnu.org
2012-06-14 17:50 ` jakub at gcc dot gnu.org
2012-06-15 11:11 ` jakub 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).