mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 18:40:53 +08:00
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:
parent
42759f1ea0
commit
1800536a05
@ -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.
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user