public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/39886]  New: ICE in purge_dead_edges, at cfgrtl.c:2274
@ 2009-04-24 15:01 regehr at cs dot utah dot edu
  2009-04-24 15:41 ` [Bug c/39886] [4.5 Regression] " rguenth at gcc dot gnu dot org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: regehr at cs dot utah dot edu @ 2009-04-24 15:01 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1293 bytes --]

regehr@john-home:~/volatile/tmp147$ current-gcc -O2 small.c -Wall -c
small.c: In function ‘uint8func’:
small.c:9: internal compiler error: in purge_dead_edges, at cfgrtl.c:2274
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

regehr@john-home:~/volatile/tmp147$ cat small.c

int func(int);

volatile unsigned char g_100;

void uint8func (int p_34)
{
  char l_125 = 0xE1;
  func ((func ((p_34 & g_100) <= l_125), 1));
}

regehr@john-home:~/volatile/tmp147$ current-gcc -v

Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../configure --prefix=/home/regehr/z/tmp/gcc-r146634-install
--program-prefix=r146634- --enable-languages=c,c++
Thread model: posix
gcc version 4.5.0 20090423 (experimental) (GCC)


-- 
           Summary: ICE in purge_dead_edges, at cfgrtl.c:2274
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: regehr at cs dot utah dot edu
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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


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

* [Bug c/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
@ 2009-04-24 15:41 ` rguenth at gcc dot gnu dot org
  2009-05-05 15:58 ` [Bug middle-end/39886] " mmitchel at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-24 15:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from rguenth at gcc dot gnu dot org  2009-04-24 15:41 -------
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2009-04-24 15:41:03
               date|                            |
            Summary|ICE in purge_dead_edges, at |[4.5 Regression] ICE in
                   |cfgrtl.c:2274               |purge_dead_edges, at
                   |                            |cfgrtl.c:2274
   Target Milestone|---                         |4.5.0
            Version|unknown                     |4.5.0


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


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
  2009-04-24 15:41 ` [Bug c/39886] [4.5 Regression] " rguenth at gcc dot gnu dot org
@ 2009-05-05 15:58 ` mmitchel at gcc dot gnu dot org
  2009-05-09 18:30 ` hubicka at ucw dot cz
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2009-05-05 15:58 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=39886


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
  2009-04-24 15:41 ` [Bug c/39886] [4.5 Regression] " rguenth at gcc dot gnu dot org
  2009-05-05 15:58 ` [Bug middle-end/39886] " mmitchel at gcc dot gnu dot org
@ 2009-05-09 18:30 ` hubicka at ucw dot cz
  2009-07-01 15:47 ` bonzini at gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hubicka at ucw dot cz @ 2009-05-09 18:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hubicka at ucw dot cz  2009-05-09 18:29 -------
Subject: Re:  [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274

The problem here is that combine constructs (set (pc) (pc)) as noo-op
move expecting it to be removed immediately.  It is however
misinterpreted as jump that is giong to be removed at the end of BB and 
update_cfg_for_uncondjump add FALLTHRU flag on the edge that fails in
verification.

Interestingly enough modifying update_cfg_for_uncondjump to ignore insns
that are not last in BB seem to cause miscompilations in testsuite....
I am looking into the cgraph failures now, but this should be easy to
fix.

Honza


-- 


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


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (2 preceding siblings ...)
  2009-05-09 18:30 ` hubicka at ucw dot cz
@ 2009-07-01 15:47 ` bonzini at gnu dot org
  2009-07-02 10:05 ` hubicka at ucw dot cz
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: bonzini at gnu dot org @ 2009-07-01 15:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from bonzini at gnu dot org  2009-07-01 15:47 -------
Honza, this worked for me:

Index: combine.c
===================================================================
--- combine.c   (revision 149135)
+++ combine.c   (working copy)
@@ -2173,12 +2173,13 @@
 update_cfg_for_uncondjump (rtx insn)
 {
   basic_block bb = BLOCK_FOR_INSN (insn);
+  bool at_end = (BB_END (bb) == insn);

-  if (BB_END (bb) == insn)
+  if (at_end)
     purge_dead_edges (bb);

   delete_insn (insn);
-  if (EDGE_COUNT (bb->succs) == 1)
+  if (at_end && EDGE_COUNT (bb->succs) == 1)
     single_succ_edge (bb)->flags |= EDGE_FALLTHRU;
 }


Would you mind seeing if your patch was the same?


-- 


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


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (3 preceding siblings ...)
  2009-07-01 15:47 ` bonzini at gnu dot org
@ 2009-07-02 10:05 ` hubicka at ucw dot cz
  2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: hubicka at ucw dot cz @ 2009-07-02 10:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hubicka at ucw dot cz  2009-07-02 10:05 -------
Subject: Re:  [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274

> Would you mind seeing if your patch was the same?
I wanted to prevent the (set pc pc) trick, but this seems like easier fix
for the problem :)

Honza


-- 


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


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (5 preceding siblings ...)
  2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
@ 2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
  2009-09-03 15:10 ` fxcoudert at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: d dot g dot gorbachev at gmail dot com @ 2009-07-11 21:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from d dot g dot gorbachev at gmail dot com  2009-07-11 21:55 -------
*** Bug 40716 has been marked as a duplicate of this bug. ***


-- 

d dot g dot gorbachev at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |d dot g dot gorbachev at
                   |                            |gmail dot com


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


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (4 preceding siblings ...)
  2009-07-02 10:05 ` hubicka at ucw dot cz
@ 2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
  2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: d dot g dot gorbachev at gmail dot com @ 2009-07-11 21:56 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from d dot g dot gorbachev at gmail dot com  2009-07-11 21:55 -------
See also bug 40716.


-- 


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


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

* [Bug middle-end/39886] [4.5 Regression] ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (6 preceding siblings ...)
  2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
@ 2009-09-03 15:10 ` fxcoudert at gcc dot gnu dot org
  2009-09-19 17:29 ` [Bug middle-end/39886] [4.5 Regression] Revision 145283 caused " hjl dot tools at gmail dot com
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: fxcoudert at gcc dot gnu dot org @ 2009-09-03 15:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from fxcoudert at gcc dot gnu dot org  2009-09-03 15:10 -------
Also happens on i586-pc-mingw32 and with -m64 on i386-apple-darwin9. This P1
regression is more than 4 months old, and has a proposed patch; could someone
post the patch for review?


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 GCC target triplet|i686-pc-linux-gnu, x86-     |i686
                   |linux-gnu                   |
           Keywords|                            |patch
   Last reconfirmed|2009-06-21 23:34:38         |2009-09-03 15:10:10
               date|                            |


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


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

* [Bug middle-end/39886] [4.5 Regression] Revision 145283 caused ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (7 preceding siblings ...)
  2009-09-03 15:10 ` fxcoudert at gcc dot gnu dot org
@ 2009-09-19 17:29 ` hjl dot tools at gmail dot com
  2009-09-20  9:24 ` ktietz at gcc dot gnu dot org
  2009-09-20 17:26 ` [Bug rtl-optimization/39886] " ktietz at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-09-19 17:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from hjl dot tools at gmail dot com  2009-09-19 17:29 -------
It is caused by revision 145283:

http://gcc.gnu.org/ml/gcc-cvs/2009-03/msg00790.html


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.5 Regression] ICE in     |[4.5 Regression] Revision
                   |purge_dead_edges, at        |145283 caused ICE in
                   |cfgrtl.c:2274               |purge_dead_edges, at
                   |                            |cfgrtl.c:2274


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


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

* [Bug middle-end/39886] [4.5 Regression] Revision 145283 caused ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (8 preceding siblings ...)
  2009-09-19 17:29 ` [Bug middle-end/39886] [4.5 Regression] Revision 145283 caused " hjl dot tools at gmail dot com
@ 2009-09-20  9:24 ` ktietz at gcc dot gnu dot org
  2009-09-20 17:26 ` [Bug rtl-optimization/39886] " ktietz at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: ktietz at gcc dot gnu dot org @ 2009-09-20  9:24 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from ktietz at gcc dot gnu dot org  2009-09-20 09:24 -------
Fixed on trunk at revision 151895.


-- 

ktietz at gcc dot gnu dot org changed:

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


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


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

* [Bug rtl-optimization/39886] [4.5 Regression] Revision 145283 caused ICE in purge_dead_edges, at cfgrtl.c:2274
  2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
                   ` (9 preceding siblings ...)
  2009-09-20  9:24 ` ktietz at gcc dot gnu dot org
@ 2009-09-20 17:26 ` ktietz at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: ktietz at gcc dot gnu dot org @ 2009-09-20 17:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from ktietz at gcc dot gnu dot org  2009-09-20 17:26 -------
*** Bug 40364 has been marked as a duplicate of this bug. ***


-- 

ktietz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dopefishjustin at gmail dot
                   |                            |com


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


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

end of thread, other threads:[~2009-09-20 17:26 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-24 15:01 [Bug c/39886] New: ICE in purge_dead_edges, at cfgrtl.c:2274 regehr at cs dot utah dot edu
2009-04-24 15:41 ` [Bug c/39886] [4.5 Regression] " rguenth at gcc dot gnu dot org
2009-05-05 15:58 ` [Bug middle-end/39886] " mmitchel at gcc dot gnu dot org
2009-05-09 18:30 ` hubicka at ucw dot cz
2009-07-01 15:47 ` bonzini at gnu dot org
2009-07-02 10:05 ` hubicka at ucw dot cz
2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
2009-07-11 21:56 ` d dot g dot gorbachev at gmail dot com
2009-09-03 15:10 ` fxcoudert at gcc dot gnu dot org
2009-09-19 17:29 ` [Bug middle-end/39886] [4.5 Regression] Revision 145283 caused " hjl dot tools at gmail dot com
2009-09-20  9:24 ` ktietz at gcc dot gnu dot org
2009-09-20 17:26 ` [Bug rtl-optimization/39886] " ktietz 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).