public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [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
  2012-12-07  9:19 ` [Bug rtl-optimization/39607] " rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 9+ 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] 9+ 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 ` [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827 steven at gcc dot gnu.org
@ 2012-10-28 11:54 ` steven at gcc dot gnu.org
  2012-12-07  9:19 ` [Bug rtl-optimization/39607] " rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 9+ 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] 9+ messages in thread

* [Bug rtl-optimization/39607] 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 ` [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827 steven at gcc dot gnu.org
  2012-10-28 11:54 ` steven at gcc dot gnu.org
@ 2012-12-07  9:19 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-07  9:19 UTC (permalink / raw)
  To: gcc-bugs


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.5.0                       |---
            Summary|[4.5 Regression] Revision   |Revision 145309 caused ICE
                   |145309 caused ICE in        |in emit_swap_insn, at
                   |emit_swap_insn, at          |reg-stack.c:827
                   |reg-stack.c:827             |

--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-07 09:18:38 UTC ---
Remove regression status.


^ permalink raw reply	[flat|nested] 9+ 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: " 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:36 ` hjl dot tools at gmail dot com
  5 siblings, 0 replies; 9+ 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] 9+ 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: " mario-baumann at web dot de
                   ` (3 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
  5 siblings, 0 replies; 9+ 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] 9+ 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: " mario-baumann at web dot de
                   ` (2 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
  5 siblings, 0 replies; 9+ 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] 9+ 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: " 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
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ 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] 9+ 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: " 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)
  5 siblings, 0 replies; 9+ 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] 9+ 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: " 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)
  5 siblings, 0 replies; 9+ 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] 9+ messages in thread

end of thread, other threads:[~2012-12-07  9:19 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-39607-4@http.gcc.gnu.org/bugzilla/>
2012-10-28 11:42 ` [Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827 steven at gcc dot gnu.org
2012-10-28 11:54 ` steven at gcc dot gnu.org
2012-12-07  9:19 ` [Bug rtl-optimization/39607] " rguenth at gcc dot gnu.org
2009-04-01  7:57 [Bug c++/39607] New: internal compiler error: " 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

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