* tree-dfa.c (add_referenced_var): Don't walk initializer of external
and non-constant public variables.
From-SVN: r95844
+2005-03-03 Jan Hubicka <jh@suse.cz>
+
+ * tree-dfa.c (add_referenced_var): Don't walk initializer of external
+ and non-constant public variables.
+
2005-03-03 Kazu Hirata <kazu@cs.umass.edu>
* tree-cfg.c (stmt_starts_bb_p): Clean up by replacing code
/* Scan DECL_INITIAL for pointer variables as they may contain
address arithmetic referencing the address of other
variables. */
- if (DECL_INITIAL (var))
+ if (DECL_INITIAL (var)
+ /* Initializers of external variables are not useful to the
+ optimizers. */
+ && !DECL_EXTERNAL (var)
+ /* It's not necessary to walk the initial value of non-constant
+ public variables because it cannot be propagated by the
+ optimizers. */
+ && (!TREE_PUBLIC (var) || !TREE_CONSTANT (var)))
walk_tree (&DECL_INITIAL (var), find_vars_r, walk_state, 0);
}
}