diff options
author | tomby <tomby@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-23 12:50:17 +0000 |
---|---|---|
committer | tomby <tomby@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-04-23 12:50:17 +0000 |
commit | 6a2b2394be08730c00bfa05bfe4e319d0ced7ac6 (patch) | |
tree | fc970abad33f221b6b9b0e13eae65c93c720eb12 /gcc/expr.c | |
parent | 4aede81643b2ed590f77d34338c45810c4bb141b (diff) | |
download | gcc-6a2b2394be08730c00bfa05bfe4e319d0ced7ac6.tar.gz |
* tree-cfg.c (verify_expr): Check for NON_LVALUE_EXPR as
unreachable case.
* tree-vrp.c (extract_range_from_unary_expr): Removed unused
NON_LVALUE_EXPR.
* tree-ssa-threadedge.c (simplify_control_stmt_condition):
Likewise.
* tree-ssa-structalias.c (get_constraint_for): Likewise.
* tree-inline.c (estimate_num_insns_1): Likewise.
* varasm.c (const_hash_1, compare_constant, copy_constant)
(compute_reloc_for_constant, output_addressed_constants):
Likewise.
* emit-rtl.c (component_ref_for_mem_expr)
(set_mem_attributes_minus_bitpos): Likewise.
* expr.c (highest_pow2_factor, expand_expr_real_1, )
(is_aligning_offset): Likewise.
* dwarf2out.c (loc_descriptor_from_tree_1, add_bound_info):
Likewise.
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Likewise.
* dojump.c (do_jump): Likewise.
* builtins.c (get_pointer_alignment, get_memory_rtx)
(integer_valued_real_p, fold_builtin_next_arg): Likewise.
* tree-scalar-evolution.c (instantiate_parameters_1): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134591 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 7f386439acc..1bb3d820c8c 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -6599,7 +6599,7 @@ highest_pow2_factor (const_tree exp) } break; - case NON_LVALUE_EXPR: case NOP_EXPR: case CONVERT_EXPR: + case NOP_EXPR: case CONVERT_EXPR: case SAVE_EXPR: return highest_pow2_factor (TREE_OPERAND (exp, 0)); @@ -7121,9 +7121,8 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, } ignore = (target == const0_rtx - || ((code == NON_LVALUE_EXPR || code == NOP_EXPR - || code == CONVERT_EXPR || code == COND_EXPR - || code == VIEW_CONVERT_EXPR) + || ((code == NOP_EXPR || code == CONVERT_EXPR + || code == COND_EXPR || code == VIEW_CONVERT_EXPR) && TREE_CODE (type) == VOID_TYPE)); /* An operation in what may be a bit-field type needs the @@ -8018,7 +8017,6 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, return expand_call (exp, target, ignore); case PAREN_EXPR: - case NON_LVALUE_EXPR: case NOP_EXPR: case CONVERT_EXPR: if (TREE_OPERAND (exp, 0) == error_mark_node) @@ -9411,8 +9409,7 @@ static int is_aligning_offset (const_tree offset, const_tree exp) { /* Strip off any conversions. */ - while (TREE_CODE (offset) == NON_LVALUE_EXPR - || TREE_CODE (offset) == NOP_EXPR + while (TREE_CODE (offset) == NOP_EXPR || TREE_CODE (offset) == CONVERT_EXPR) offset = TREE_OPERAND (offset, 0); @@ -9428,8 +9425,7 @@ is_aligning_offset (const_tree offset, const_tree exp) /* Look at the first operand of BIT_AND_EXPR and strip any conversion. It must be NEGATE_EXPR. Then strip any more conversions. */ offset = TREE_OPERAND (offset, 0); - while (TREE_CODE (offset) == NON_LVALUE_EXPR - || TREE_CODE (offset) == NOP_EXPR + while (TREE_CODE (offset) == NOP_EXPR || TREE_CODE (offset) == CONVERT_EXPR) offset = TREE_OPERAND (offset, 0); @@ -9437,8 +9433,7 @@ is_aligning_offset (const_tree offset, const_tree exp) return 0; offset = TREE_OPERAND (offset, 0); - while (TREE_CODE (offset) == NON_LVALUE_EXPR - || TREE_CODE (offset) == NOP_EXPR + while (TREE_CODE (offset) == NOP_EXPR || TREE_CODE (offset) == CONVERT_EXPR) offset = TREE_OPERAND (offset, 0); |