public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
@ 2010-12-09 13:42 zsojka at seznam dot cz
  2010-12-09 14:19 ` [Bug tree-optimization/46864] " jakub at gcc dot gnu.org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: zsojka at seznam dot cz @ 2010-12-09 13:42 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: [4.5/4.6 Regression] ICE: verify_stmts failed:
                    statement marked for throw, but doesn't with
                    -fnon-call-exceptions
           Product: gcc
           Version: 4.6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu


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

Compiler output:
$ g++ -O -fnon-call-exceptions pr46734.C  
pr46734.C: In function 'void foo()':
pr46734.C:18:1: error: statement marked for throw, but doesn't
s.2__k_lsm.4_28 = i_29;

pr46734.C:18:1: internal compiler error: verify_stmts failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


Tested revisions:
r167621 - fail
4.5 r166509 - fail
4.4 r166509 - OK


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

* [Bug tree-optimization/46864] [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
@ 2010-12-09 14:19 ` jakub at gcc dot gnu.org
  2010-12-09 14:35 ` jakub at gcc dot gnu.org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-12-09 14:19 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-09 14:18:57 UTC ---
This is execute_sm's fault, rewrite_mem_ref_loc doesn't call
maybe_clean_eh_stmt.  Adding that call fixes the ICE, but a)
gimple_purge_dead_eh_edges isn't called (and can't be called immediately), and
I don't see how the correct eh edges would be added for the load and store
stmts that are added by store motion.  So, I wonder if execute_sm just
shouldn't give up optimizing if the mem ref might throw.


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

* [Bug tree-optimization/46864] [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
  2010-12-09 14:19 ` [Bug tree-optimization/46864] " jakub at gcc dot gnu.org
@ 2010-12-09 14:35 ` jakub at gcc dot gnu.org
  2010-12-09 14:52 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-12-09 14:35 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-09 14:35:36 UTC ---
Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146776
I think, before that EH edges were EDGE_ABNORMAL and thus
loop_suitable_for_sm disabled the optimization.

So, one solution would be to test for (EDGE_ABNORMAL | EDGE_EH) there.


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

* [Bug tree-optimization/46864] [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
  2010-12-09 14:19 ` [Bug tree-optimization/46864] " jakub at gcc dot gnu.org
  2010-12-09 14:35 ` jakub at gcc dot gnu.org
@ 2010-12-09 14:52 ` rguenth at gcc dot gnu.org
  2010-12-09 20:16 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu.org @ 2010-12-09 14:52 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-12-09 14:51:59 UTC ---
Yep, that sounds sensible to me.


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

* [Bug tree-optimization/46864] [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2010-12-09 14:52 ` rguenth at gcc dot gnu.org
@ 2010-12-09 20:16 ` jakub at gcc dot gnu.org
  2010-12-10 12:42 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-12-09 20:16 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2010.12.09 20:15:43
         AssignedTo|unassigned at gcc dot       |jakub at gcc dot gnu.org
                   |gnu.org                     |
   Target Milestone|---                         |4.5.3
     Ever Confirmed|0                           |1


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

* [Bug tree-optimization/46864] [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2010-12-09 20:16 ` jakub at gcc dot gnu.org
@ 2010-12-10 12:42 ` jakub at gcc dot gnu.org
  2010-12-10 12:45 ` [Bug tree-optimization/46864] [4.5 " jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-12-10 12:42 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-10 12:42:20 UTC ---
Author: jakub
Date: Fri Dec 10 12:42:12 2010
New Revision: 167685

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167685
Log:
    PR tree-optimization/46864
    * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
    when there are EDGE_EH exit edges.

    * g++.dg/opt/pr46864.C: New test.

Added:
    trunk/gcc/testsuite/g++.dg/opt/pr46864.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-loop-im.c


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

* [Bug tree-optimization/46864] [4.5 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2010-12-10 12:42 ` jakub at gcc dot gnu.org
@ 2010-12-10 12:45 ` jakub at gcc dot gnu.org
  2011-01-16 20:16 ` jakub at gcc dot gnu.org
  2011-01-17  8:38 ` jakub at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2010-12-10 12:45 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.6.0
            Summary|[4.5/4.6 Regression] ICE:   |[4.5 Regression] ICE:
                   |verify_stmts failed:        |verify_stmts failed:
                   |statement marked for throw, |statement marked for throw,
                   |but doesn't with            |but doesn't with
                   |-fnon-call-exceptions       |-fnon-call-exceptions
      Known to fail|4.6.0                       |

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2010-12-10 12:45:26 UTC ---
Fixed on the trunk so far.


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

* [Bug tree-optimization/46864] [4.5 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2010-12-10 12:45 ` [Bug tree-optimization/46864] [4.5 " jakub at gcc dot gnu.org
@ 2011-01-16 20:16 ` jakub at gcc dot gnu.org
  2011-01-17  8:38 ` jakub at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-16 20:16 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-16 20:12:51 UTC ---
Author: jakub
Date: Sun Jan 16 20:12:46 2011
New Revision: 168861

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168861
Log:
    Backport from mainline
    2010-12-10  Jakub Jelinek  <jakub@redhat.com>

    PR tree-optimization/46864
    * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
    when there are EDGE_EH exit edges.

    * g++.dg/opt/pr46864.C: New test.

Added:
    branches/gcc-4_5-branch/gcc/testsuite/g++.dg/opt/pr46864.C
Modified:
    branches/gcc-4_5-branch/gcc/ChangeLog
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_5-branch/gcc/tree-ssa-loop-im.c


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

* [Bug tree-optimization/46864] [4.5 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions
  2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2011-01-16 20:16 ` jakub at gcc dot gnu.org
@ 2011-01-17  8:38 ` jakub at gcc dot gnu.org
  7 siblings, 0 replies; 9+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-01-17  8:38 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-17 08:26:04 UTC ---
Fixed.


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

end of thread, other threads:[~2011-01-17  8:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-09 13:42 [Bug tree-optimization/46864] New: [4.5/4.6 Regression] ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions zsojka at seznam dot cz
2010-12-09 14:19 ` [Bug tree-optimization/46864] " jakub at gcc dot gnu.org
2010-12-09 14:35 ` jakub at gcc dot gnu.org
2010-12-09 14:52 ` rguenth at gcc dot gnu.org
2010-12-09 20:16 ` jakub at gcc dot gnu.org
2010-12-10 12:42 ` jakub at gcc dot gnu.org
2010-12-10 12:45 ` [Bug tree-optimization/46864] [4.5 " jakub at gcc dot gnu.org
2011-01-16 20:16 ` jakub at gcc dot gnu.org
2011-01-17  8:38 ` 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).