* [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