aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2012-01-26 15:50:33 +0000
committerMichael Matz <matz@gcc.gnu.org>2012-01-26 15:50:33 +0000
commit81bfd1977ac6a45d790a48603e38d335eb0a8a36 (patch)
tree808bb0980b8187c2584ca18d2cc1712638bdbd79 /gcc/gimplify.c
parentbfb676c121bba67c943f211af349c836d04226bc (diff)
downloadgcc-81bfd1977ac6a45d790a48603e38d335eb0a8a36.zip
gcc-81bfd1977ac6a45d790a48603e38d335eb0a8a36.tar.gz
gcc-81bfd1977ac6a45d790a48603e38d335eb0a8a36.tar.bz2
re PR tree-optimization/46590 (long compile time with -O2 and many loops)
PR tree-optimization/46590 * cfgexpand.c: Revert last change (r183305). * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple regs. * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before checking for emptiness. From-SVN: r183566
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 99ae5ee..782adc3 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -1231,7 +1231,7 @@ gimplify_bind_expr (tree *expr_p, gimple_seq *pre_p)
&& !DECL_HAS_VALUE_EXPR_P (t)
/* Only care for variables that have to be in memory. Others
will be rewritten into SSA names, hence moved to the top-level. */
- && needs_to_live_in_memory (t))
+ && !is_gimple_reg (t))
{
tree clobber = build_constructor (TREE_TYPE (t), NULL);
TREE_THIS_VOLATILE (clobber) = 1;