public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
@ 2012-10-17 20:13 dominiq at lps dot ens.fr
  2012-10-18  9:56 ` [Bug middle-end/54961] " rguenth at gcc dot gnu.org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-10-17 20:13 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 54961
           Summary: [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O
                    (internal compiler error) after revision 192440
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: dominiq@lps.ens.fr
                CC: hjl.tools@gmail.com, steven@gcc.gnu.org
            Target: *86*-*-*


After revision 192440 (192439 is OK), compiling the test gfortran.dg/pr48757.f
on *86*-*-* targets (powerpc*-*-* ones work fine) with '-w -m32 -O2' gives an
ICE:

/opt/gcc/work/gcc/testsuite/gfortran.dg/pr48757.f: In function 'dfconc':
/opt/gcc/work/gcc/testsuite/gfortran.dg/pr48757.f:54:0: internal compiler
error: in compensate_edge, at reg-stack.c:2805
       END

The backtrace is

#9  0x000000010059d5ee in rest_of_handle_stack_regs () at
../../p_work/gcc/reg-stack.c:2805
#10 0x0000000100576aef in execute_one_pass (pass=<value optimized out>) at
../../p_work/gcc/passes.c:2320
#11 0x0000000100576efd in execute_pass_list (pass=<value optimized out>) at
../../p_work/gcc/passes.c:2381
#12 0x0000000100576f0f in execute_pass_list (pass=<value optimized out>) at
../../p_work/gcc/passes.c:2382
#13 0x0000000100576f0f in execute_pass_list (pass=<value optimized out>) at
../../p_work/gcc/passes.c:2382
#14 0x0000000100576f0f in execute_pass_list (pass=<value optimized out>) at
../../p_work/gcc/passes.c:2382
#15 0x000000010032f182 in expand_function (node=<value optimized out>) at
../../p_work/gcc/cgraphunit.c:1601
#16 0x00000001003307ba in compile () at ../../p_work/gcc/cgraphunit.c:1705
#17 0x0000000100330d7f in finalize_compilation_unit () at
../../p_work/gcc/cgraphunit.c:2080
#18 0x000000010051c3cd in write_global_declarations () at
../../p_work/gcc/langhooks.c:323
#19 0x0000000100622891 in compile_file () at ../../p_work/gcc/toplev.c:560
#20 0x00000001006242ec in toplev_main (argc=5, argv=0x7fff5fbfd678) at
../../p_work/gcc/toplev.c:1866
#21 0x000000010000a654 in start (pc=<value optimized out>, bases=0x0) at
../../../p_work/libgcc/unwind-dw2-fde.c:1055

Note that there is an additional ICE for gfortran.dg/pr40587.f on
i686-pc-linux-gnu (see
http://gcc.gnu.org/ml/gcc-testresults/2012-10/msg01902.html ), but I don't know
how to reproduce it on x86_64-apple-darwin10.


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
@ 2012-10-18  9:56 ` rguenth at gcc dot gnu.org
  2012-10-19 21:58 ` steven at gcc dot gnu.org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-10-18  9:56 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|*86*-*-*                    |i?86-*-*
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-10-18
   Target Milestone|---                         |4.8.0
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2012-10-18 09:56:21 UTC ---
Confirmed.


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
  2012-10-18  9:56 ` [Bug middle-end/54961] " rguenth at gcc dot gnu.org
@ 2012-10-19 21:58 ` steven at gcc dot gnu.org
  2012-10-19 23:18 ` dominiq at lps dot ens.fr
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-19 21:58 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-19 21:57:54 UTC ---
Something I'm going to test:

Index: ira-lives.c
===================================================================
--- ira-lives.c (revision 192571)
+++ ira-lives.c (working copy)
@@ -1373,6 +1373,19 @@ process_bb_node_lives (ira_loop_tree_nod
       if (bb_has_abnormal_pred (bb))
        {
 #ifdef STACK_REGS
+         /* Mark all stack mode registers and stack hard registers live
+            so that they will conflict and allocation across the abnormal
+            edge is impossible.
+            Stack registers must be treated as live in the traditional,
+            DF_LR-like sense, because compensation code may have to be
+            introduced on edges.  The register allocator treats the stack
+            registers like all other, non-stack registers.  It doesn't
+            know that stack shuffling may be required and may allocate
+            a partially available stack reg in ways that result in the
+            need for compensation code on abnormal edges.  See PR54961.  */
+         EXECUTE_IF_SET_IN_BITMAP (DF_LR_IN (bb), FIRST_PSEUDO_REGISTER, j,
bi)
+           if (IS_STACK_MODE (GET_MODE (regno_reg_rtx[j])))
+             mark_pseudo_regno_live (j);
          EXECUTE_IF_SET_IN_SPARSESET (objects_live, px)
            { 
              ira_allocno_t a = OBJECT_ALLOCNO (ira_object_id_map[px]);


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
  2012-10-18  9:56 ` [Bug middle-end/54961] " rguenth at gcc dot gnu.org
  2012-10-19 21:58 ` steven at gcc dot gnu.org
@ 2012-10-19 23:18 ` dominiq at lps dot ens.fr
  2012-10-27  7:06 ` ubizjak at gmail dot com
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: dominiq at lps dot ens.fr @ 2012-10-19 23:18 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #3 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-10-19 23:18:39 UTC ---
> Something I'm going to test:

It does not fix the ICE, at least on x86_64-apple-darwin10.


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (2 preceding siblings ...)
  2012-10-19 23:18 ` dominiq at lps dot ens.fr
@ 2012-10-27  7:06 ` ubizjak at gmail dot com
  2012-10-27  7:11 ` ubizjak at gmail dot com
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2012-10-27  7:06 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #4 from Uros Bizjak <ubizjak at gmail dot com> 2012-10-27 07:06:25 UTC ---
Steven, has there been any new progress on this PR?

In addition to the failure in this PR, I also get (-O2 -m32) that may be
related to the failure in Comment #0:

FAIL: gfortran.dg/pr40587.f  -O  (internal compiler error)
FAIL: gfortran.dg/pr40587.f  -O  (test for excess errors)

with following backtrace:

/home/uros/gcc-svn/trunk/gcc/testsuite/gfortran.dg/pr40587.f:17:0: internal
compiler error: in emit_swap_insn, at reg-stack.c:814
0x8c95c5 emit_swap_insn
    ../../gcc-svn/trunk/gcc/reg-stack.c:814
0x8ca615 move_for_stack_reg
    ../../gcc-svn/trunk/gcc/reg-stack.c:1028
0x8cadde subst_stack_regs_pat
    ../../gcc-svn/trunk/gcc/reg-stack.c:1471
0x8cc125 subst_stack_regs
    ../../gcc-svn/trunk/gcc/reg-stack.c:2357
0x8cc315 convert_regs_1
    ../../gcc-svn/trunk/gcc/reg-stack.c:2986
0x8cc315 convert_regs_2
    ../../gcc-svn/trunk/gcc/reg-stack.c:3121
0x8ccf27 convert_regs
    ../../gcc-svn/trunk/gcc/reg-stack.c:3156
0x8ccf27 reg_to_stack
    ../../gcc-svn/trunk/gcc/reg-stack.c:3286
0x8ccf27 rest_of_handle_stack_regs


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (3 preceding siblings ...)
  2012-10-27  7:06 ` ubizjak at gmail dot com
@ 2012-10-27  7:11 ` ubizjak at gmail dot com
  2012-10-27 13:03 ` steven at gcc dot gnu.org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ubizjak at gmail dot com @ 2012-10-27  7:11 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #5 from Uros Bizjak <ubizjak at gmail dot com> 2012-10-27 07:11:00 UTC ---
(In reply to comment #4)
> Steven, has there been any new progress on this PR?
> 
> In addition to the failure in this PR, I also get (-O2 -m32) that may be
> related to the failure in Comment #0:
> 
> FAIL: gfortran.dg/pr40587.f  -O  (internal compiler error)
> FAIL: gfortran.dg/pr40587.f  -O  (test for excess errors)

And:

FAIL: g++.dg/opt/pr39607.C -std=gnu++98 (internal compiler error)
FAIL: g++.dg/opt/pr39607.C -std=gnu++98 (test for excess errors)
FAIL: g++.dg/opt/pr39607.C -std=gnu++11 (internal compiler error)
FAIL: g++.dg/opt/pr39607.C -std=gnu++11 (test for excess errors)

/home/uros/gcc-svn/trunk/gcc/testsuite/g++.dg/opt/pr39607.C: In member function
'AbcIval1d AbcCone::GetLinearParamIval(AbcSurfType*) const':
/home/uros/gcc-svn/trunk/gcc/testsuite/g++.dg/opt/pr39607.C:65:1: internal
compiler error: in emit_swap_insn, at reg-stack.c:814
0x9ffb45 emit_swap_insn
    ../../gcc-svn/trunk/gcc/reg-stack.c:814
0xa00b95 move_for_stack_reg
    ../../gcc-svn/trunk/gcc/reg-stack.c:1028
0xa0135e subst_stack_regs_pat
    ../../gcc-svn/trunk/gcc/reg-stack.c:1471
0xa026a5 subst_stack_regs
    ../../gcc-svn/trunk/gcc/reg-stack.c:2357
0xa02895 convert_regs_1
    ../../gcc-svn/trunk/gcc/reg-stack.c:2986
0xa02895 convert_regs_2
    ../../gcc-svn/trunk/gcc/reg-stack.c:3121
0xa034a7 convert_regs
    ../../gcc-svn/trunk/gcc/reg-stack.c:3156
0xa034a7 reg_to_stack
    ../../gcc-svn/trunk/gcc/reg-stack.c:3286
0xa034a7 rest_of_handle_stack_regs
    ../../gcc-svn/trunk/gcc/reg-stack.c:3328


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (4 preceding siblings ...)
  2012-10-27  7:11 ` ubizjak at gmail dot com
@ 2012-10-27 13:03 ` steven at gcc dot gnu.org
  2012-10-28 11:45 ` steven at gcc dot gnu.org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-27 13:03 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #6 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-27 13:03:07 UTC ---
(In reply to comment #4)
> Steven, has there been any new progress on this PR?

Workin' on it this weekend.


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (5 preceding siblings ...)
  2012-10-27 13:03 ` steven at gcc dot gnu.org
@ 2012-10-28 11:45 ` steven at gcc dot gnu.org
  2012-10-28 11:54 ` steven at gcc dot gnu.org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-28 11:45 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #7 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-28 11:44:50 UTC ---
The problems of comment #4 and comment #5 are PR39607, a problem that
should be solved in reg-stack.

The problem of comment #0 is a problem in IRA.  There is code to prevent
stack registers from living across EDGE_ABNORMAL edges but clearly this
code fails in the pr48757.f test case.  I suspect there is a bug in the
splitting or merging of allocno ranges where the ALLOCNO_NO_STACK_REG_P
and ALLOCNO_TOTAL_NO_STACK_REG_P maybe are not properly copied/merged.


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

* [Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (6 preceding siblings ...)
  2012-10-28 11:45 ` steven at gcc dot gnu.org
@ 2012-10-28 11:54 ` steven at gcc dot gnu.org
  2012-11-09 22:11 ` [Bug middle-end/54961] " steven at gcc dot gnu.org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-28 11:54 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |SUSPENDED

--- Comment #8 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-28 11:54:16 UTC ---
Depends on IRA using DF_LIVE. To be visited later.


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

* [Bug middle-end/54961] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (7 preceding siblings ...)
  2012-10-28 11:54 ` steven at gcc dot gnu.org
@ 2012-11-09 22:11 ` steven at gcc dot gnu.org
  2013-07-27 17:03 ` dominiq at lps dot ens.fr
  2013-10-05 13:05 ` dominiq at lps dot ens.fr
  10 siblings, 0 replies; 12+ messages in thread
From: steven at gcc dot gnu.org @ 2012-11-09 22:11 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.8.0                       |---
            Summary|[4.8 Regression] FAIL:      |FAIL: gfortran.dg/pr48757.f
                   |gfortran.dg/pr48757.f  -O   | -O  (internal compiler
                   |(internal compiler error)   |error) after revision
                   |after revision 192440       |192440


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

* [Bug middle-end/54961] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (8 preceding siblings ...)
  2012-11-09 22:11 ` [Bug middle-end/54961] " steven at gcc dot gnu.org
@ 2013-07-27 17:03 ` dominiq at lps dot ens.fr
  2013-10-05 13:05 ` dominiq at lps dot ens.fr
  10 siblings, 0 replies; 12+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-07-27 17:03 UTC (permalink / raw)
  To: gcc-bugs

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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|SUSPENDED                   |WAITING

--- Comment #9 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
This PR disappeared from my tests between revisions 192878 and 193318. Was it
fixed or hidden?


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

* [Bug middle-end/54961] FAIL: gfortran.dg/pr48757.f  -O  (internal compiler error) after revision 192440
  2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
                   ` (9 preceding siblings ...)
  2013-07-27 17:03 ` dominiq at lps dot ens.fr
@ 2013-10-05 13:05 ` dominiq at lps dot ens.fr
  10 siblings, 0 replies; 12+ messages in thread
From: dominiq at lps dot ens.fr @ 2013-10-05 13:05 UTC (permalink / raw)
  To: gcc-bugs

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

Dominique d'Humieres <dominiq at lps dot ens.fr> changed:

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

--- Comment #10 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
> This PR disappeared from my tests between revisions 192878 and 193318. 
> Was it fixed or hidden?

No answer since two months, closing as fixed.


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

end of thread, other threads:[~2013-10-05 13:05 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-17 20:13 [Bug middle-end/54961] New: [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440 dominiq at lps dot ens.fr
2012-10-18  9:56 ` [Bug middle-end/54961] " rguenth at gcc dot gnu.org
2012-10-19 21:58 ` steven at gcc dot gnu.org
2012-10-19 23:18 ` dominiq at lps dot ens.fr
2012-10-27  7:06 ` ubizjak at gmail dot com
2012-10-27  7:11 ` ubizjak at gmail dot com
2012-10-27 13:03 ` steven at gcc dot gnu.org
2012-10-28 11:45 ` steven at gcc dot gnu.org
2012-10-28 11:54 ` steven at gcc dot gnu.org
2012-11-09 22:11 ` [Bug middle-end/54961] " steven at gcc dot gnu.org
2013-07-27 17:03 ` dominiq at lps dot ens.fr
2013-10-05 13:05 ` dominiq at lps dot ens.fr

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).