From 1f9b622bb72fbb8256bff4899b2f97cb4c5f5867 Mon Sep 17 00:00:00 2001 From: rth Date: Tue, 30 Nov 2004 03:52:37 +0000 Subject: * expr.c (get_inner_reference): Handle REAL/IMAGPART_EXPR. (handled_component_p): Likewise. * alias.c (can_address_p): Reformat and simplify. Handle REAL/IMAGPART_EXPR. Do not disable addressability based on alias set zero. * fold-const.c (build_fold_addr_expr_with_type): Remove duplicate check for REAL/IMAGPART_EXPR. * gimplify.c (gimplify_compound_lval): Likewise. * tree-cfg.c (verify_expr): Likewise. * tree-gimple.c (is_gimple_addressable, get_base_address): Likewise. * tree-nested.c (build_addr, convert_nonlocal_reference): Likewise. (convert_local_reference): Likewise. * tree-ssa-loop-ivopts.c (prepare_decl_rtl): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@91511 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-nested.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'gcc/tree-nested.c') diff --git a/gcc/tree-nested.c b/gcc/tree-nested.c index 76396ca96f8..e5befa43a99 100644 --- a/gcc/tree-nested.c +++ b/gcc/tree-nested.c @@ -155,8 +155,7 @@ build_addr (tree exp) { tree base = exp; - while (TREE_CODE (base) == REALPART_EXPR || TREE_CODE (base) == IMAGPART_EXPR - || handled_component_p (base)) + while (handled_component_p (base)) base = TREE_OPERAND (base, 0); if (DECL_P (base)) @@ -849,9 +848,7 @@ convert_nonlocal_reference (tree *tp, int *walk_subtrees, void *data) anything that describes the references. Otherwise, we lose track of whether a NOP_EXPR or VIEW_CONVERT_EXPR needs a simple value. */ wi->val_only = true; - for (; handled_component_p (t) - || TREE_CODE (t) == REALPART_EXPR || TREE_CODE (t) == IMAGPART_EXPR; - tp = &TREE_OPERAND (t, 0), t = *tp) + for (; handled_component_p (t); tp = &TREE_OPERAND (t, 0), t = *tp) { if (TREE_CODE (t) == COMPONENT_REF) walk_tree (&TREE_OPERAND (t, 2), convert_nonlocal_reference, wi, @@ -966,9 +963,7 @@ convert_local_reference (tree *tp, int *walk_subtrees, void *data) anything that describes the references. Otherwise, we lose track of whether a NOP_EXPR or VIEW_CONVERT_EXPR needs a simple value. */ wi->val_only = true; - for (; handled_component_p (t) - || TREE_CODE (t) == REALPART_EXPR || TREE_CODE (t) == IMAGPART_EXPR; - tp = &TREE_OPERAND (t, 0), t = *tp) + for (; handled_component_p (t); tp = &TREE_OPERAND (t, 0), t = *tp) { if (TREE_CODE (t) == COMPONENT_REF) walk_tree (&TREE_OPERAND (t, 2), convert_local_reference, wi, -- cgit v1.2.1