public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/39607]  New: internal compiler error: in emit_swap_insn, at reg-stack.c:827
@ 2009-04-01  7:57 mario-baumann at web dot de
  2009-04-01  7:58 ` [Bug c++/39607] " mario-baumann at web dot de
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: mario-baumann at web dot de @ 2009-04-01  7:57 UTC (permalink / raw)
  To: gcc-bugs

> g++ -c foo.cpp -m32 -O2
foo.cpp: In member function 'AbcIval1d
AbcCone::GetLinearParamIval(AbcSurfType*) const':
foo.cpp:81: internal compiler error: in emit_swap_insn, at reg-stack.c:827

NOTES:
(1) g++ -c foo.cpp -m32 -O1 ................ works
(2) g++ -c foo.cpp -m64 -O2 ................ works
(3) comment out line 31 AND
    g++ -c foo.cpp -m32 -O2 ................ works

==============================================================================

> uname -a
Linux yoda.intec.dom 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 11:57:43 EST 2008
x86_64 x86_64 x86_64 GNU/Linux

> rpm -qa "glibc*" | grep -e 'glibc-[0-9]' | sort -u
glibc-2.5-24.el5_2.2

> g++ -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: /projects/tob/gcc-trunk-checkout/configure
--with-gmp-lib=/projects/tob/gcc-build/lib-aux
--with-mpfr-lib=/projects/tob/gcc-build/lib-aux
--enable-languages=c,fortran,c++ --prefix=/projects/tob/gcc-trunk
Thread model: posix
gcc version 4.5.0 20090331 (experimental) [trunk revision 145331] (GCC) 

> ld -v
GNU ld (GNU Binutils) 2.19


-- 
           Summary: internal compiler error: in emit_swap_insn, at reg-
                    stack.c:827
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: mario-baumann at web dot de
 GCC build triplet: x86_64-unknown-linux-gnu
GCC target triplet: i?86-*-*


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


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

* [Bug c++/39607] internal compiler error: in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
@ 2009-04-01  7:58 ` mario-baumann at web dot de
  2009-04-01 14:53 ` [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE " hjl dot tools at gmail dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: mario-baumann at web dot de @ 2009-04-01  7:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from mario-baumann at web dot de  2009-04-01 07:58 -------
Created an attachment (id=17574)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17574&action=view)
bzipped foo.cpp file


-- 


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
  2009-04-01  7:58 ` [Bug c++/39607] " mario-baumann at web dot de
@ 2009-04-01 14:53 ` hjl dot tools at gmail dot com
  2009-04-02 18:28 ` hjl dot tools at gmail dot com
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-04-01 14:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hjl dot tools at gmail dot com  2009-04-01 14:53 -------
This is caused by revision 145309:

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


-- 

hjl dot tools at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at redhat dot com
             Status|UNCONFIRMED                 |NEW
          Component|c++                         |rtl-optimization
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2009-04-01 14:53:20
               date|                            |
            Summary|internal compiler error: in |[4.5 Regression] Revision
                   |emit_swap_insn, at reg-     |145309 caused ICE in
                   |stack.c:827                 |emit_swap_insn, at reg-
                   |                            |stack.c:827
   Target Milestone|---                         |4.5.0


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
  2009-04-01  7:58 ` [Bug c++/39607] " mario-baumann at web dot de
  2009-04-01 14:53 ` [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE " hjl dot tools at gmail dot com
@ 2009-04-02 18:28 ` hjl dot tools at gmail dot com
  2009-04-03 22:26 ` hjl at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-04-02 18:28 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from hjl dot tools at gmail dot com  2009-04-02 18:28 -------
Revert this change:

---
Index: ira-lives.c
===================================================================
--- ira-lives.c (revision 145308)
+++ ira-lives.c (revision 145309)
@@ -838,7 +838,7 @@ process_bb_node_lives (ira_loop_tree_nod
          high_pressure_start_point[ira_reg_class_cover[i]] = -1;
        }
       curr_bb_node = loop_tree_node;
-      reg_live_out = DF_LR_OUT (bb);
+      reg_live_out = df_get_live_out (bb);
       sparseset_clear (allocnos_live);
       REG_SET_TO_HARD_REG_SET (hard_regs_live, reg_live_out);
       AND_COMPL_HARD_REG_SET (hard_regs_live, eliminable_regset);
---

fixed ICE.


-- 


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
                   ` (2 preceding siblings ...)
  2009-04-02 18:28 ` hjl dot tools at gmail dot com
@ 2009-04-03 22:26 ` hjl at gcc dot gnu dot org
  2009-04-03 22:35 ` hjl at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-04-03 22:26 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from hjl at gcc dot gnu dot org  2009-04-03 22:25 -------
Subject: Bug 39607

Author: hjl
Date: Fri Apr  3 22:25:32 2009
New Revision: 145522

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145522
Log:
Mention

        PR rtl-optimization/39607
        PR rtl-optimization/39631

in ChangeLog for revision 145521.

Modified:
    trunk/gcc/ChangeLog


-- 


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
                   ` (4 preceding siblings ...)
  2009-04-03 22:35 ` hjl at gcc dot gnu dot org
@ 2009-04-03 22:35 ` hjl at gcc dot gnu dot org
  2009-04-03 22:36 ` hjl dot tools at gmail dot com
  6 siblings, 0 replies; 10+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-04-03 22:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl at gcc dot gnu dot org  2009-04-03 22:35 -------
Subject: Bug 39607

Author: hjl
Date: Fri Apr  3 22:34:29 2009
New Revision: 145525

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145525
Log:
Mention PR rtl-optimization/39607.

Modified:
    trunk/gcc/testsuite/ChangeLog


------- Comment #6 from hjl at gcc dot gnu dot org  2009-04-03 22:35 -------
Subject: Bug 39607

Author: hjl
Date: Fri Apr  3 22:34:57 2009
New Revision: 145526

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145526
Log:
Mention PR rtl-optimization/39607.

Modified:
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
                   ` (3 preceding siblings ...)
  2009-04-03 22:26 ` hjl at gcc dot gnu dot org
@ 2009-04-03 22:35 ` hjl at gcc dot gnu dot org
  2009-04-03 22:35 ` hjl at gcc dot gnu dot org
  2009-04-03 22:36 ` hjl dot tools at gmail dot com
  6 siblings, 0 replies; 10+ messages in thread
From: hjl at gcc dot gnu dot org @ 2009-04-03 22:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hjl at gcc dot gnu dot org  2009-04-03 22:35 -------
Subject: Bug 39607

Author: hjl
Date: Fri Apr  3 22:34:29 2009
New Revision: 145525

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145525
Log:
Mention PR rtl-optimization/39607.

Modified:
    trunk/gcc/testsuite/ChangeLog


-- 


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
  2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
                   ` (5 preceding siblings ...)
  2009-04-03 22:35 ` hjl at gcc dot gnu dot org
@ 2009-04-03 22:36 ` hjl dot tools at gmail dot com
  6 siblings, 0 replies; 10+ messages in thread
From: hjl dot tools at gmail dot com @ 2009-04-03 22:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from hjl dot tools at gmail dot com  2009-04-03 22:36 -------
Fixed.


-- 

hjl dot tools at gmail dot com changed:

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


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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
       [not found] <bug-39607-4@http.gcc.gnu.org/bugzilla/>
  2012-10-28 11:42 ` steven at gcc dot gnu.org
@ 2012-10-28 11:54 ` steven at gcc dot gnu.org
  1 sibling, 0 replies; 10+ 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=39607

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |SUSPENDED

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


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

* [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827
       [not found] <bug-39607-4@http.gcc.gnu.org/bugzilla/>
@ 2012-10-28 11:42 ` steven at gcc dot gnu.org
  2012-10-28 11:54 ` steven at gcc dot gnu.org
  1 sibling, 0 replies; 10+ messages in thread
From: steven at gcc dot gnu.org @ 2012-10-28 11:42 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
                 CC|                            |steven at gcc dot gnu.org
         Resolution|FIXED                       |

--- Comment #8 from Steven Bosscher <steven at gcc dot gnu.org> 2012-10-28 11:41:45 UTC ---
Open again since r192440.

The real problem here is this assert:

  if (hard_regno == -1)
    { 
      /* Something failed if the register wasn't on the stack.  If we had
         malformed asms, we zapped the instruction itself, but that didn't
         produce the same pattern of register sets as before.  To prevent
         further failure, adjust REGSTACK to include REG at TOP.  */
      gcc_assert (any_malformed_asm);
      regstack->reg[++regstack->top] = REGNO (reg);
      return;
    }

If IRA uses DF_LIVE, the assert may trigger if there is a use of a stack 
register that is not initialized. The following C test case (derived from
gfortran.dg/pr40587.f) shows the problem:

void
test (int *i, double *r, double *result)
{
  int i2;
  double r2;

  i2 = *i;
  if (i == 0)
    r2 = *r;
  else
    error ();
  *result = r2;
}

r2 is used uninitialized if the path through "error()" is taken. When
using DF_LR, r2 is made live through that path all the way up to the
function entry, but when using DF_LIVE r2 is only live in the trace
from "r2 = *r" to "*result = r2". 

With IRA using DF_LIVE and removing the assert, the result is an fstpl
instruction that triggers an FP-stack underflow.  IMHO that would be
a reasonable behavior for this kind of problem.


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

end of thread, other threads:[~2012-10-28 11:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: in emit_swap_insn, at reg-stack.c:827 mario-baumann at web dot de
2009-04-01  7:58 ` [Bug c++/39607] " mario-baumann at web dot de
2009-04-01 14:53 ` [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE " hjl dot tools at gmail dot com
2009-04-02 18:28 ` hjl dot tools at gmail dot com
2009-04-03 22:26 ` hjl at gcc dot gnu dot org
2009-04-03 22:35 ` hjl at gcc dot gnu dot org
2009-04-03 22:35 ` hjl at gcc dot gnu dot org
2009-04-03 22:36 ` hjl dot tools at gmail dot com
     [not found] <bug-39607-4@http.gcc.gnu.org/bugzilla/>
2012-10-28 11:42 ` steven at gcc dot gnu.org
2012-10-28 11:54 ` steven 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).