From ea814c6675874dae704d3ee33b7146c3f5132688 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 25 Jul 2012 19:43:15 +0000 Subject: expr.c (expand_expr_real_1): Do not expand operand #1 and #2 of BIT_FIELD_REF for ignored results. * expr.c (expand_expr_real_1): Do not expand operand #1 and #2 of BIT_FIELD_REF for ignored results. * fold-const.c (fold_ternary_loc) : Check that the CONSTRUCTOR has vector type before using vector accessors on it. * gimplify.c (gimplify_compound_lval): Do not gimplify operand #1 and #2 of BIT_FIELD_REF. (gimplify_expr) : Likewise. * tree-nested.c (convert_nonlocal_reference_op) : Do not process operand #1 and #2. (convert_local_reference_op): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Remove superfluous breaks throughout. : Reuse operand #1 and #2 directly. * tree.c (stabilize_reference) : Do not stabilize operand #1 and #2. (UPDATE_FLAGS): Do not consider operand #2 of BIT_FIELD_REF. (build6_stat): Delete. * tree.h (build6_stat, build6, build6_stat_loc, build6_loc): Likewise. ada/ * gcc-interface/utils2.c (gnat_stabilize_reference) : Do not stabilize operand #1 and #2. From-SVN: r189864 --- gcc/expr.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'gcc/expr.c') diff --git a/gcc/expr.c b/gcc/expr.c index 9650863..e2dd4d2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -9111,7 +9111,9 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, } if (TREE_CODE_CLASS (code) == tcc_unary - || code == COMPONENT_REF || code == INDIRECT_REF) + || code == BIT_FIELD_REF + || code == COMPONENT_REF + || code == INDIRECT_REF) return expand_expr (treeop0, const0_rtx, VOIDmode, modifier); @@ -9123,13 +9125,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, expand_expr (treeop1, const0_rtx, VOIDmode, modifier); return const0_rtx; } - else if (code == BIT_FIELD_REF) - { - expand_expr (treeop0, const0_rtx, VOIDmode, modifier); - expand_expr (treeop1, const0_rtx, VOIDmode, modifier); - expand_expr (treeop2, const0_rtx, VOIDmode, modifier); - return const0_rtx; - } target = 0; } -- cgit v1.1