diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-24 01:29:11 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-24 01:29:11 +0000 |
commit | 73b2fde8bc895661ab86e6a7e06e58d30b643071 (patch) | |
tree | f3db9e6f9f7f86d544fb2a65e954a843aeee4eb6 /gcc/tree-gimple.c | |
parent | b4b14ae31419a5087558c6f3b54ad187c326787f (diff) | |
download | gcc-73b2fde8bc895661ab86e6a7e06e58d30b643071.tar.gz |
* gimplify.c (gimplify_compound_lval): Check for no handled
operations, rather than checking for explicit list of nodes.
(is_gimple_addr_expr_arg_or_indirect): New function.
(gimplify_addr_expr): Call it and handle INDIRECT_REF; remove
redundant setting of TREE_INVARIANT.
(gimplify_expr, case VIEW_CONVERT_EXPR): Call gimplify_compound_lval.
* tree-gimple.c (is_gimple_addr_expr_arg): Call handled_component_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85110 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-gimple.c')
-rw-r--r-- | gcc/tree-gimple.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/tree-gimple.c b/gcc/tree-gimple.c index 2b119fdab87..3d2fff897ed 100644 --- a/gcc/tree-gimple.c +++ b/gcc/tree-gimple.c @@ -322,13 +322,8 @@ is_gimple_condexpr (tree t) bool is_gimple_addr_expr_arg (tree t) { - return (is_gimple_id (t) - || TREE_CODE (t) == ARRAY_REF - || TREE_CODE (t) == ARRAY_RANGE_REF - || TREE_CODE (t) == COMPONENT_REF - || TREE_CODE (t) == REALPART_EXPR - || TREE_CODE (t) == IMAGPART_EXPR - || TREE_CODE (t) == INDIRECT_REF); + return (is_gimple_id (t) || handled_component_p (t) + || TREE_CODE (t) == REALPART_EXPR || TREE_CODE (t) == IMAGPART_EXPR); } /* Return true if T is function invariant. Or rather a restricted |