aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-gimple.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2004-07-24 01:29:11 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2004-07-23 21:29:11 -0400
commit9e51aaf570ad8c2c6551c0c5bdf358df2655ca6b (patch)
treef3db9e6f9f7f86d544fb2a65e954a843aeee4eb6 /gcc/tree-gimple.c
parentffe4e0376f66ff4db3a098f9c41fd8c8dd3c5ac7 (diff)
downloadgcc-9e51aaf570ad8c2c6551c0c5bdf358df2655ca6b.zip
gcc-9e51aaf570ad8c2c6551c0c5bdf358df2655ca6b.tar.gz
gcc-9e51aaf570ad8c2c6551c0c5bdf358df2655ca6b.tar.bz2
gimplify.c (gimplify_compound_lval): Check for no handled operations, rather than checking for explicit list of nodes.
* 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. From-SVN: r85110
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 2b119fd..3d2fff8 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