tree-ssa-operands.c (add_call_clobber_ops): Make read-only test apply only to TREE_STATIC and DECL_EXTERNAL.

* tree-ssa-operands.c (add_call_clobber_ops): Make read-only
	test apply only to TREE_STATIC and DECL_EXTERNAL.

From-SVN: r87615
This commit is contained in:
Diego Novillo 2004-09-16 22:16:56 +00:00 committed by Diego Novillo
parent 42759f1ea0
commit 1800536a05
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2004-09-16 Diego Novillo <dnovillo@redhat.com>
* tree-ssa-operands.c (add_call_clobber_ops): Make read-only
test apply only to TREE_STATIC and DECL_EXTERNAL.
2004-09-16 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* Makefile.in (tree-cfg.o): Add CFGLAYOUT_H dependency.

View File

@ -1620,9 +1620,15 @@ add_call_clobber_ops (tree stmt, tree callee)
with a module static or we may not. So we still must look
anywhere else we can (such as the TREE_READONLY) to get
better info. */
/* If VAR is read-only, don't add a V_MAY_DEF, just a
VUSE operand. */
else if (TREE_READONLY (var))
VUSE operand. FIXME, this is quirky. TREE_READONLY
by itself is not enough here. We can only decide
that the call will not affect VAR if all these
conditions are met. One would think that
TREE_READONLY should be sufficient. */
else if (TREE_READONLY (var)
&& (TREE_STATIC (var) || DECL_EXTERNAL (var)))
add_stmt_operand (&var, stmt, opf_none);
else
add_stmt_operand (&var, stmt, opf_is_def);