diff options
author | Richard Guenther <rguenther@suse.de> | 2010-06-07 13:10:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2010-06-07 13:10:10 +0000 |
commit | ae0595b089bfb006687b60a0a8a4e6420909424f (patch) | |
tree | 21421f80b97f7a40457ad01a25b77186f91f9ce0 /gcc | |
parent | d94a3592d4b796aa86da74cda88de8dfaadddbf3 (diff) | |
download | gcc-ae0595b089bfb006687b60a0a8a4e6420909424f.tar.gz |
gimplify.c (gimplify_cleanup_point_expr): For empty body and EH-only cleanup drop the cleanup instead of inserting it...
2010-06-07 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimplify_cleanup_point_expr): For empty body
and EH-only cleanup drop the cleanup instead of inserting it
unconditionally.
From-SVN: r160371
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gimplify.c | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 550bb704984..a2abec15d11 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-06-07 Richard Guenther <rguenther@suse.de> + + * gimplify.c (gimplify_cleanup_point_expr): For empty body + and EH-only cleanup drop the cleanup instead of inserting it + unconditionally. + 2010-06-07 Ira Rosen <irar@il.ibm.com> * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Update diff --git a/gcc/gimplify.c b/gcc/gimplify.c index cb4358ca9bd..354092ae429 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -5140,9 +5140,10 @@ gimplify_cleanup_point_expr (tree *expr_p, gimple_seq *pre_p) { /* Note that gsi_insert_seq_before and gsi_remove do not scan operands, unlike some other sequence mutators. */ - gsi_insert_seq_before_without_update (&iter, - gimple_wce_cleanup (wce), - GSI_SAME_STMT); + if (!gimple_wce_cleanup_eh_only (wce)) + gsi_insert_seq_before_without_update (&iter, + gimple_wce_cleanup (wce), + GSI_SAME_STMT); gsi_remove (&iter, true); break; } |