summaryrefslogtreecommitdiffstats
path: root/gcc/tree-gimple.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-24 01:29:11 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-24 01:29:11 +0000
commit73b2fde8bc895661ab86e6a7e06e58d30b643071 (patch)
treef3db9e6f9f7f86d544fb2a65e954a843aeee4eb6 /gcc/tree-gimple.c
parentb4b14ae31419a5087558c6f3b54ad187c326787f (diff)
downloadppe42-gcc-73b2fde8bc895661ab86e6a7e06e58d30b643071.tar.gz
ppe42-gcc-73b2fde8bc895661ab86e6a7e06e58d30b643071.zip
* 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.c9
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
OpenPOWER on IntegriCloud