Commit 4eefcc98 by Richard Guenther Committed by Richard Biener

re PR tree-optimization/34683 (SSA rewriting in the loop unroller causes quadratic behavior)

2008-01-08  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/34683
	* tree-flow-inline.h (var_ann): Remove overzealous asserts.

From-SVN: r131393
parent 0eb52172
2008-01-08 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34683
* tree-flow-inline.h (var_ann): Remove overzealous asserts.
2008-01-07 Jakub Jelinek <jakub@redhat.com> 2008-01-07 Jakub Jelinek <jakub@redhat.com>
PR target/34622 PR target/34622
...@@ -190,23 +190,28 @@ fill_referenced_var_vec (VEC (tree, heap) **vec) ...@@ -190,23 +190,28 @@ fill_referenced_var_vec (VEC (tree, heap) **vec)
static inline var_ann_t static inline var_ann_t
var_ann (const_tree t) var_ann (const_tree t)
{ {
gcc_assert (t); var_ann_t ann;
gcc_assert (DECL_P (t));
gcc_assert (TREE_CODE (t) != FUNCTION_DECL); if (!MTAG_P (t)
if (!MTAG_P (t) && (TREE_STATIC (t) || DECL_EXTERNAL (t))) && (TREE_STATIC (t) || DECL_EXTERNAL (t)))
{ {
struct static_var_ann_d *sann struct static_var_ann_d *sann
= ((struct static_var_ann_d *) = ((struct static_var_ann_d *)
htab_find_with_hash (gimple_var_anns (cfun), t, DECL_UID (t))); htab_find_with_hash (gimple_var_anns (cfun), t, DECL_UID (t)));
if (!sann) if (!sann)
return NULL; return NULL;
gcc_assert (sann->ann.common.type == VAR_ANN); ann = &sann->ann;
return &sann->ann;
} }
gcc_assert (!t->base.ann else
|| t->base.ann->common.type == VAR_ANN); {
if (!t->base.ann)
return NULL;
ann = (var_ann_t) t->base.ann;
}
gcc_assert (ann->common.type == VAR_ANN);
return (var_ann_t) t->base.ann; return ann;
} }
/* Return the variable annotation for T, which must be a _DECL node. /* Return the variable annotation for T, which must be a _DECL node.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment