public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
@ 2011-03-31 16:11 zsojka at seznam dot cz
  2011-04-06  0:26 ` [Bug rtl-optimization/48389] " pinskia at gcc dot gnu.org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: zsojka at seznam dot cz @ 2011-03-31 16:11 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: [4.5/4.6/4.7 Regression] ICE: in make_edges, at
                    cfgbuild.c:319 with -mtune=pentiumpro
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
              Host: x86_64-pc-linux-gnu
            Target: i686-pc-linux-gnu


Created attachment 23838
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23838
reduced testcase

Compiler output:
$ gcc -O -m32 -mtune=pentiumpro testcase.c -Wno-abi
testcase.c: In function 'foo':
testcase.c:9:1: internal compiler error: in make_edges, at cfgbuild.c:319
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

(gdb) bt
#0  fancy_abort (file=0x1348888 "/mnt/svn/gcc-trunk/gcc/cfgbuild.c", line=319,
function=0x1348a01 "make_edges")
    at /mnt/svn/gcc-trunk/gcc/diagnostic.c:892
#1  0x0000000000f57610 in make_edges (blocks=Unhandled dwarf expression opcode
0xf3
) at /mnt/svn/gcc-trunk/gcc/cfgbuild.c:319
#2  find_many_sub_basic_blocks (blocks=Unhandled dwarf expression opcode 0xf3
) at /mnt/svn/gcc-trunk/gcc/cfgbuild.c:595
#3  0x00000000005e3f78 in gimple_expand_cfg () at
/mnt/svn/gcc-trunk/gcc/cfgexpand.c:4199
#4  0x00000000007f0486 in execute_one_pass (pass=0x1648ac0) at
/mnt/svn/gcc-trunk/gcc/passes.c:1555
#5  0x00000000007f0775 in execute_pass_list (pass=0x1648ac0) at
/mnt/svn/gcc-trunk/gcc/passes.c:1610
#6  0x00000000009353d5 in tree_rest_of_compilation (fndecl=0x7ffff5978100) at
/mnt/svn/gcc-trunk/gcc/tree-optimize.c:422
#7  0x0000000000b010c7 in cgraph_expand_function (node=0x7ffff5992000) at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1575
#8  0x0000000000b0381c in cgraph_expand_all_functions () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1634
#9  cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1898
#10 0x0000000000b03d9a in cgraph_finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1095
#11 0x0000000000508de4 in c_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/c-decl.c:9879
#12 0x00000000008de0fd in compile_file (argc=17, argv=0x7fffffffdc88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:591
#13 do_compile (argc=17, argv=0x7fffffffdc88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1900
#14 toplev_main (argc=17, argv=0x7fffffffdc88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:1963
#15 0x00007ffff6487b6d in __libc_start_main () from /lib/libc.so.6
#16 0x00000000004ef7f9 in _start ()

Tested revisions:
r171775 - crash
4.6 r171597 - crash
4.5 r171597 - crash
4.4 r171597 - OK


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
@ 2011-04-06  0:26 ` pinskia at gcc dot gnu.org
  2011-04-06 16:53 ` law at redhat dot com
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu.org @ 2011-04-06  0:26 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.5.3


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
  2011-04-06  0:26 ` [Bug rtl-optimization/48389] " pinskia at gcc dot gnu.org
@ 2011-04-06 16:53 ` law at redhat dot com
  2011-04-06 16:55 ` law at redhat dot com
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2011-04-06 16:53 UTC (permalink / raw)
  To: gcc-bugs

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

Jeffrey A. Law <law at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.04.06 16:53:11
                 CC|                            |law at redhat dot com
         AssignedTo|unassigned at gcc dot       |law at redhat dot com
                   |gnu.org                     |
     Ever Confirmed|0                           |1


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
  2011-04-06  0:26 ` [Bug rtl-optimization/48389] " pinskia at gcc dot gnu.org
  2011-04-06 16:53 ` law at redhat dot com
@ 2011-04-06 16:55 ` law at redhat dot com
  2011-04-06 20:42 ` steven at gcc dot gnu.org
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2011-04-06 16:55 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Jeffrey A. Law <law at redhat dot com> 2011-04-06 16:54:41 UTC ---
Elimination of a PHI caused a loop to be inserted on an edge.  The edge
insertions were committed after calling rebuild_jump_labels resulting in a null
JUMP_LABEL for the loop branch which later triggered the abort.


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2011-04-06 16:55 ` law at redhat dot com
@ 2011-04-06 20:42 ` steven at gcc dot gnu.org
  2011-04-06 21:53 ` steven at gcc dot gnu.org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu.org @ 2011-04-06 20:42 UTC (permalink / raw)
  To: gcc-bugs

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

Steven Bosscher <steven at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |steven at gcc dot gnu.org

--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-06 20:41:40 UTC ---
I think this should fix the problem:

Index: cfgexpand.c
===================================================================
--- cfgexpand.c (revision 172003)
+++ cfgexpand.c (working copy)
@@ -4143,8 +4143,6 @@ gimple_expand_cfg (void)
   /* Zap the tree EH table.  */
   set_eh_throw_stmt_table (cfun, NULL);

-  rebuild_jump_labels (get_insns ());
-
   FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR, EXIT_BLOCK_PTR, next_bb)
     {
       edge e;
@@ -4170,6 +4168,8 @@ gimple_expand_cfg (void)
        }
     }

+  rebuild_jump_labels (get_insns ());
+
   /* We're done expanding trees to RTL.  */
   currently_expanding_to_rtl = 0;


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2011-04-06 20:42 ` steven at gcc dot gnu.org
@ 2011-04-06 21:53 ` steven at gcc dot gnu.org
  2011-04-06 22:51 ` law at redhat dot com
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu.org @ 2011-04-06 21:53 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-06 21:52:54 UTC ---
OK, not quite. We somehow have a barrier _inside_ a basic block, and that's
somehow a problem after the patch but not before?!


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2011-04-06 21:53 ` steven at gcc dot gnu.org
@ 2011-04-06 22:51 ` law at redhat dot com
  2011-04-06 23:00 ` steven at gcc dot gnu.org
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2011-04-06 22:51 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Jeffrey A. Law <law at redhat dot com> 2011-04-06 22:51:26 UTC ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/06/11 15:52, steven at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389
> 
> --- Comment #3 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-06 21:52:54 UTC ---
> OK, not quite. We somehow have a barrier _inside_ a basic block, and that's
> somehow a problem after the patch but not before?!
I tried to warn you that it wasn't as easy as just moving hte call to
rebuild_jump_labels :-)

jeff

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNnO5iAAoJEBRtltQi2kC7y1kH/R+nRv2iL79CgbPFxWYBTX44
6Fb7f72e6VdymlXu3xOSvkQ3em+4AdWzjay9o5UWRIQSFUuFgS41Yc9z/UR0uqQd
OVwdX56kDFJaDfCX0XLjtddjiMN2js2jxiiXlGr1nq2sprWGFEabRxSmU6KqhN+Z
hdrXH18h2nOe9KjVfshZrUgM80UxhykorjuWo7d+TBwARU21C051OSRwvAYr7I3o
anYEBBzAvw2RzRyyUOVzVi24ErTyY+ZIn2wXJp9mIJmHKsdZMZCzYz4RGLysmnw5
gyzR6NsOU6st0K4SsLSqMWBIBddP5QI5Z+wEMiYUiu7Qto8lC3uE8xE3Edf7ja8=
=2qbJ
-----END PGP SIGNATURE-----


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2011-04-06 22:51 ` law at redhat dot com
@ 2011-04-06 23:00 ` steven at gcc dot gnu.org
  2011-04-07 15:05 ` law at redhat dot com
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu.org @ 2011-04-06 23:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-06 23:00:31 UTC ---
Created attachment 23905
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23905
First shot at a fix (also for PR48486)

Well, one can always hope for a quick fix.


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2011-04-06 23:00 ` steven at gcc dot gnu.org
@ 2011-04-07 15:05 ` law at redhat dot com
  2011-04-07 15:38 ` matz at gcc dot gnu.org
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2011-04-07 15:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Jeffrey A. Law <law at redhat dot com> 2011-04-07 15:04:49 UTC ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/06/11 17:00, steven at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389
> 
> --- Comment #5 from Steven Bosscher <steven at gcc dot gnu.org> 2011-04-06 23:00:31 UTC ---
> Created attachment 23905
>   --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23905
> First shot at a fix (also for PR48486)
> 
> Well, one can always hope for a quick fix.
I was looking at your proposed patch -- the first thing that jumps out
is cfgbuild.c has many tests similar to the one you fixed (testing for
eq/ne without masking off irrelevant bits).

I'd hate to see this once instance get fixed and all the others left
behind, but I'm also not familiar enough with the code to say for sure
if the other tests are correct as-written or definitely need to be fixed.

The cfgexpand changes look pretty reasonable.  The extra barrier is odd,
but not terribly surprising given the wacky way we've represented jump
tables in RTL.

It's not clear why you twiddled the code to mask off EDGE_EXECUTABLE,
but it's not terribly important, just a curiosity on my part.

jeff

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNndKIAAoJEBRtltQi2kC7fAgH/3A9Rsa28p2Kkly/eZAf5kBU
aGFO3XbeC/MfarJQM7AdQ33WVFL+bAr2DBUaxXE304WGM0T4S/jwEPOiYbeJ2Bsi
ziXZfa3urRgC10zAVSqAbP8y40NLqC3aO9NL9o+OB6eyjWuDSPTDakOpmWNJOqGg
A3oAg5ONWcJO5CxODIUBaXlJBtV7igGNjrQnSPouKOCC8lR+Ljy8yQK62kMR6pP3
h7hJzhEr09wWpq5rd5rEekZd9xvboPGChvD5QK6BMHtE6HdM2UVJ7Z02X8EgKUJj
J8oCGd4RK6fsRWvO00fAZBeev2ccz5zjKhlry4QiXm9tNHwN8n0Xff2k32jEFgs=
=cObX
-----END PGP SIGNATURE-----


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (7 preceding siblings ...)
  2011-04-07 15:05 ` law at redhat dot com
@ 2011-04-07 15:38 ` matz at gcc dot gnu.org
  2011-04-07 18:41 ` law at redhat dot com
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: matz at gcc dot gnu.org @ 2011-04-07 15:38 UTC (permalink / raw)
  To: gcc-bugs

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

Michael Matz <matz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matz at gcc dot gnu.org

--- Comment #7 from Michael Matz <matz at gcc dot gnu.org> 2011-04-07 15:38:38 UTC ---
Hmpf, what doesn't work with just moving the rebuild_jump_labels call?
The testcase works, but I haven't tried the testsuite.  Because it should
theoretically work.  The insertion of barrier inside BBs is fixed up in
cfgexpand at some places, we possibly merely need to extend them.  See
maybe_cleanup_end_of_block.


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (8 preceding siblings ...)
  2011-04-07 15:38 ` matz at gcc dot gnu.org
@ 2011-04-07 18:41 ` law at redhat dot com
  2011-04-07 21:28 ` stevenb.gcc at gmail dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: law at redhat dot com @ 2011-04-07 18:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Jeffrey A. Law <law at redhat dot com> 2011-04-07 18:41:14 UTC ---
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 04/07/11 09:38, matz at gcc dot gnu.org wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389
> 
> Michael Matz <matz at gcc dot gnu.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |matz at gcc dot gnu.org
> 
> --- Comment #7 from Michael Matz <matz at gcc dot gnu.org> 2011-04-07 15:38:38 UTC ---
> Hmpf, what doesn't work with just moving the rebuild_jump_labels call?
> The testcase works, but I haven't tried the testsuite.  Because it should
> theoretically work.  The insertion of barrier inside BBs is fixed up in
> cfgexpand at some places, we possibly merely need to extend them.  See
> maybe_cleanup_end_of_block.
You won't even get an x86 bootstrap due to complaints in the verifiers.
 I agree, it should theoretically work :-)  In practice it doesn't.

jeff

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJNngU9AAoJEBRtltQi2kC7T3UH/017oZD3gx+/5jsNwcIsIiuc
vjcenPjnNbR2gVFx2n65epQVfV7AC3nkBmJVYOCvpNCj9YHjLCURKp5Quy+uddsj
V63r+HjRBoQO0goTgUG+1fXdehvFSeHSIIGvds//NtioNhdBC8N82l4FQfDwkD5f
zBpddByDONoRfuHrcsfBHmNZDm9ymdeHEac4Lr8QBYBRnTN5j+fNfG7gBAqifEsf
TaxNhK4kRN5nufASRJID1YOlZulrU0sQMgHnPkRKHajpDA8zAuYtdsTn7wFqaY7Y
kDY3rrVL8Q25Cqvi+IGjYuhicdBM+e7LH4Y2/NnzKc4m7DApm8EZdaW8IM9PZBg=
=YyHc
-----END PGP SIGNATURE-----


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (9 preceding siblings ...)
  2011-04-07 18:41 ` law at redhat dot com
@ 2011-04-07 21:28 ` stevenb.gcc at gmail dot com
  2011-04-08 11:38 ` matz at gcc dot gnu.org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: stevenb.gcc at gmail dot com @ 2011-04-07 21:28 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 from stevenb.gcc at gmail dot com <stevenb.gcc at gmail dot com> 2011-04-07 21:28:12 UTC ---
> --- Comment #7 from Michael Matz <matz at gcc dot gnu.org> 2011-04-07 15:38:38 UTC ---
> Hmpf, what doesn't work with just moving the rebuild_jump_labels call?
> The testcase works, but I haven't tried the testsuite.  Because it should
> theoretically work.

Yes, it should, but it does not. Why do you think I'm meddling with cfgbuild.c?

The EDGE_EXECUTABLE thing was needed to pass a verify_flow_info()
called from commit_edge_insertions() but it's probably not necessary
anymore now that I commit edge inserts manually (to work around other
verify_flow_info() errors).

FWIW the patch doesn't bootstrap, and I'm still trying to figure out
what the problem is now.


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (10 preceding siblings ...)
  2011-04-07 21:28 ` stevenb.gcc at gmail dot com
@ 2011-04-08 11:38 ` matz at gcc dot gnu.org
  2011-04-08 13:05 ` matz at gcc dot gnu.org
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: matz at gcc dot gnu.org @ 2011-04-08 11:38 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Michael Matz <matz at gcc dot gnu.org> 2011-04-08 11:37:59 UTC ---
I was asking what specifically doesn't work.  I.e. why the changes to cfgbuild
were necessary.  I'm not so dense to not understand that it doesn't work.


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (11 preceding siblings ...)
  2011-04-08 11:38 ` matz at gcc dot gnu.org
@ 2011-04-08 13:05 ` matz at gcc dot gnu.org
  2011-04-08 20:20 ` matz at gcc dot gnu.org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: matz at gcc dot gnu.org @ 2011-04-08 13:05 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from Michael Matz <matz at gcc dot gnu.org> 2011-04-08 13:05:18 UTC ---
I know what's the problem.  Your patch can't work.  commit_one_edge_insertion
relies on edge splitting to work, which relies on being able to patch jump
insns, which relies on correctly set JUMP_LABEL on those insns, hence
rebuild_jump_labels (which in this case doesn't rebuild but really initializes
JUMP_LABEL for the first time) must be called before inserting insns.

So, no it can't even theoretically work, except if we rewrite how
jumps are patched to redirect edges.

I'd propose to change the interface to rebuild_jump_labels somewhat to
only conditionally run over forced_labels.  Then it can be called on the
insn chains that are to be inserted on edges before insertion.


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

* [Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (12 preceding siblings ...)
  2011-04-08 13:05 ` matz at gcc dot gnu.org
@ 2011-04-08 20:20 ` matz at gcc dot gnu.org
  2011-04-08 20:22 ` [Bug rtl-optimization/48389] [4.5/4.6 " matz at gcc dot gnu.org
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: matz at gcc dot gnu.org @ 2011-04-08 20:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Michael Matz <matz at gcc dot gnu.org> 2011-04-08 20:18:14 UTC ---
Author: matz
Date: Fri Apr  8 20:18:08 2011
New Revision: 172208

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172208
Log:
    PR middle-end/48389
    * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
    functions.
    (rebuild_jump_labels): Call rebuild_jump_labels_1.
    * rtl.h (rebuild_jump_labels_chain): Declare.
    * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
        insns inserted on edges.

testsuite/
    * gcc.target/i386/pr48389.c: New test.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr48389.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cfgexpand.c
    trunk/gcc/jump.c
    trunk/gcc/rtl.h
    trunk/gcc/testsuite/ChangeLog


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

* [Bug rtl-optimization/48389] [4.5/4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (13 preceding siblings ...)
  2011-04-08 20:20 ` matz at gcc dot gnu.org
@ 2011-04-08 20:22 ` matz at gcc dot gnu.org
  2011-04-09 10:09 ` stevenb.gcc at gmail dot com
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: matz at gcc dot gnu.org @ 2011-04-08 20:22 UTC (permalink / raw)
  To: gcc-bugs

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

Michael Matz <matz at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.5/4.6/4.7 Regression]    |[4.5/4.6 Regression] ICE:
                   |ICE: in make_edges, at      |in make_edges, at
                   |cfgbuild.c:319 with         |cfgbuild.c:319 with
                   |-mtune=pentiumpro           |-mtune=pentiumpro
      Known to fail|4.7.0                       |

--- Comment #13 from Michael Matz <matz at gcc dot gnu.org> 2011-04-08 20:19:48 UTC ---
Fixed for 4.7.


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

* [Bug rtl-optimization/48389] [4.5/4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (14 preceding siblings ...)
  2011-04-08 20:22 ` [Bug rtl-optimization/48389] [4.5/4.6 " matz at gcc dot gnu.org
@ 2011-04-09 10:09 ` stevenb.gcc at gmail dot com
  2011-04-10 10:46 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: stevenb.gcc at gmail dot com @ 2011-04-09 10:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 from stevenb.gcc at gmail dot com <stevenb.gcc at gmail dot com> 2011-04-09 10:08:57 UTC ---
On Fri, Apr 8, 2011 at 1:38 PM, matz at gcc dot gnu.org
<gcc-bugzilla@gcc.gnu.org> wrote:
> --- Comment #10 from Michael Matz <matz at gcc dot gnu.org> 2011-04-08 11:37:59 UTC ---
> I was asking what specifically doesn't work.  I.e. why the changes to cfgbuild
> were necessary.  I'm not so dense to not understand that it doesn't work.

But you are so dense to not look at all information in the PR? :-P

I had made PR48486 blocking this one. It explains what the cfgbuild.c
changes were supposed to resolve.


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

* [Bug rtl-optimization/48389] [4.5/4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (15 preceding siblings ...)
  2011-04-09 10:09 ` stevenb.gcc at gmail dot com
@ 2011-04-10 10:46 ` rguenth at gcc dot gnu.org
  2011-04-28 15:18 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-04-10 10:46 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P2


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

* [Bug rtl-optimization/48389] [4.5/4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (16 preceding siblings ...)
  2011-04-10 10:46 ` rguenth at gcc dot gnu.org
@ 2011-04-28 15:18 ` rguenth at gcc dot gnu.org
  2012-07-02 11:30 ` rguenth at gcc dot gnu.org
  2013-04-12 16:18 ` [Bug rtl-optimization/48389] [4.6 " jakub at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-04-28 15:18 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.5.3                       |4.5.4

--- Comment #15 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-04-28 14:51:33 UTC ---
GCC 4.5.3 is being released, adjusting target milestone.


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

* [Bug rtl-optimization/48389] [4.5/4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (17 preceding siblings ...)
  2011-04-28 15:18 ` rguenth at gcc dot gnu.org
@ 2012-07-02 11:30 ` rguenth at gcc dot gnu.org
  2013-04-12 16:18 ` [Bug rtl-optimization/48389] [4.6 " jakub at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-07-02 11:30 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.5.4                       |4.6.4

--- Comment #16 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-07-02 11:29:18 UTC ---
The 4.5 branch is being closed, adjusting target milestone.


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

* [Bug rtl-optimization/48389] [4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro
  2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
                   ` (18 preceding siblings ...)
  2012-07-02 11:30 ` rguenth at gcc dot gnu.org
@ 2013-04-12 16:18 ` jakub at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: jakub at gcc dot gnu.org @ 2013-04-12 16:18 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|4.6.4                       |4.7.0

--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-04-12 16:17:45 UTC ---
The 4.6 branch has been closed, fixed in GCC 4.7.0.


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

end of thread, other threads:[~2013-04-12 16:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-31 16:11 [Bug rtl-optimization/48389] New: [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro zsojka at seznam dot cz
2011-04-06  0:26 ` [Bug rtl-optimization/48389] " pinskia at gcc dot gnu.org
2011-04-06 16:53 ` law at redhat dot com
2011-04-06 16:55 ` law at redhat dot com
2011-04-06 20:42 ` steven at gcc dot gnu.org
2011-04-06 21:53 ` steven at gcc dot gnu.org
2011-04-06 22:51 ` law at redhat dot com
2011-04-06 23:00 ` steven at gcc dot gnu.org
2011-04-07 15:05 ` law at redhat dot com
2011-04-07 15:38 ` matz at gcc dot gnu.org
2011-04-07 18:41 ` law at redhat dot com
2011-04-07 21:28 ` stevenb.gcc at gmail dot com
2011-04-08 11:38 ` matz at gcc dot gnu.org
2011-04-08 13:05 ` matz at gcc dot gnu.org
2011-04-08 20:20 ` matz at gcc dot gnu.org
2011-04-08 20:22 ` [Bug rtl-optimization/48389] [4.5/4.6 " matz at gcc dot gnu.org
2011-04-09 10:09 ` stevenb.gcc at gmail dot com
2011-04-10 10:46 ` rguenth at gcc dot gnu.org
2011-04-28 15:18 ` rguenth at gcc dot gnu.org
2012-07-02 11:30 ` rguenth at gcc dot gnu.org
2013-04-12 16:18 ` [Bug rtl-optimization/48389] [4.6 " 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).