tree.def (REALPART_EXPR, [...]): Move.
* tree.def (REALPART_EXPR, IMAGPART_EXPR, VIEW_CONVERT_EXPR): Move. * tree.h (handled_component_p): Reorder cases. * dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref): Do not initialize unsignedp. (loc_list_from_tree): Likewise. (fortran_common): Likewise. * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise. From-SVN: r185522
This commit is contained in:
parent
79f3658a24
commit
b199074d13
|
@ -1,3 +1,13 @@
|
|||
2012-03-19 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* tree.def (REALPART_EXPR, IMAGPART_EXPR, VIEW_CONVERT_EXPR): Move.
|
||||
* tree.h (handled_component_p): Reorder cases.
|
||||
* dwarf2out.c (loc_list_for_address_of_addr_expr_of_indirect_ref): Do
|
||||
not initialize unsignedp.
|
||||
(loc_list_from_tree): Likewise.
|
||||
(fortran_common): Likewise.
|
||||
* simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
|
||||
|
||||
2012-03-19 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.c (ix86_expand_prologue) <CM_LARGE_PIC>: Use Pmode
|
||||
|
@ -32,7 +42,7 @@
|
|||
|
||||
2012-03-16 Martin Jambor <mjambor@suse.cz>
|
||||
|
||||
* expr.c (expand_expr_real_1): handle misaligned scalar reads from
|
||||
* expr.c (expand_expr_real_1): Handle misaligned scalar reads from
|
||||
memory through MEM_REFs by calling extract_bit_field.
|
||||
|
||||
2012-03-16 Richard Guenther <rguenther@suse.de>
|
||||
|
|
|
@ -13328,8 +13328,8 @@ cst_pool_loc_descr (tree loc)
|
|||
}
|
||||
|
||||
/* Return dw_loc_list representing address of addr_expr LOC
|
||||
by looking for innder INDIRECT_REF expression and turing it
|
||||
into simple arithmetics. */
|
||||
by looking for inner INDIRECT_REF expression and turning
|
||||
it into simple arithmetics. */
|
||||
|
||||
static dw_loc_list_ref
|
||||
loc_list_for_address_of_addr_expr_of_indirect_ref (tree loc, bool toplev)
|
||||
|
@ -13337,8 +13337,7 @@ loc_list_for_address_of_addr_expr_of_indirect_ref (tree loc, bool toplev)
|
|||
tree obj, offset;
|
||||
HOST_WIDE_INT bitsize, bitpos, bytepos;
|
||||
enum machine_mode mode;
|
||||
int volatilep;
|
||||
int unsignedp = TYPE_UNSIGNED (TREE_TYPE (loc));
|
||||
int unsignedp, volatilep = 0;
|
||||
dw_loc_list_ref list_ret = NULL, list_ret1 = NULL;
|
||||
|
||||
obj = get_inner_reference (TREE_OPERAND (loc, 0),
|
||||
|
@ -13628,8 +13627,7 @@ loc_list_from_tree (tree loc, int want_address)
|
|||
tree obj, offset;
|
||||
HOST_WIDE_INT bitsize, bitpos, bytepos;
|
||||
enum machine_mode mode;
|
||||
int volatilep;
|
||||
int unsignedp = TYPE_UNSIGNED (TREE_TYPE (loc));
|
||||
int unsignedp, volatilep = 0;
|
||||
|
||||
obj = get_inner_reference (loc, &bitsize, &bitpos, &offset, &mode,
|
||||
&unsignedp, &volatilep, false);
|
||||
|
@ -14927,7 +14925,7 @@ fortran_common (tree decl, HOST_WIDE_INT *value)
|
|||
enum machine_mode mode;
|
||||
HOST_WIDE_INT bitsize, bitpos;
|
||||
tree offset;
|
||||
int volatilep = 0, unsignedp = 0;
|
||||
int unsignedp, volatilep = 0;
|
||||
|
||||
/* If the decl isn't a VAR_DECL, or if it isn't static, or if
|
||||
it does not have a value (the offset into the common area), or if it
|
||||
|
|
|
@ -293,7 +293,7 @@ delegitimize_mem_from_attrs (rtx x)
|
|||
{
|
||||
HOST_WIDE_INT bitsize, bitpos;
|
||||
tree toffset;
|
||||
int unsignedp = 0, volatilep = 0;
|
||||
int unsignedp, volatilep = 0;
|
||||
|
||||
decl = get_inner_reference (decl, &bitsize, &bitpos, &toffset,
|
||||
&mode, &unsignedp, &volatilep, false);
|
||||
|
|
34
gcc/tree.def
34
gcc/tree.def
|
@ -400,11 +400,6 @@ DEFTREECODE (COMPONENT_REF, "component_ref", tcc_reference, 3)
|
|||
to its mode width. */
|
||||
DEFTREECODE (BIT_FIELD_REF, "bit_field_ref", tcc_reference, 3)
|
||||
|
||||
/* Used only on an operand of complex type, these return
|
||||
a value of the corresponding component type. */
|
||||
DEFTREECODE (REALPART_EXPR, "realpart_expr", tcc_reference, 1)
|
||||
DEFTREECODE (IMAGPART_EXPR, "imagpart_expr", tcc_reference, 1)
|
||||
|
||||
/* Array indexing.
|
||||
Operand 0 is the array; operand 1 is a (single) array index.
|
||||
Operand 2, if present, is a copy of TYPE_MIN_VALUE of the index.
|
||||
|
@ -417,6 +412,23 @@ DEFTREECODE (ARRAY_REF, "array_ref", tcc_reference, 4)
|
|||
of the range is taken from the type of the expression. */
|
||||
DEFTREECODE (ARRAY_RANGE_REF, "array_range_ref", tcc_reference, 4)
|
||||
|
||||
/* Used only on an operand of complex type, these return
|
||||
a value of the corresponding component type. */
|
||||
DEFTREECODE (REALPART_EXPR, "realpart_expr", tcc_reference, 1)
|
||||
DEFTREECODE (IMAGPART_EXPR, "imagpart_expr", tcc_reference, 1)
|
||||
|
||||
/* Represents viewing something of one type as being of a second type.
|
||||
This corresponds to an "Unchecked Conversion" in Ada and roughly to
|
||||
the idiom *(type2 *)&X in C. The only operand is the value to be
|
||||
viewed as being of another type. It is undefined if the type of the
|
||||
input and of the expression have different sizes.
|
||||
|
||||
This code may also be used within the LHS of a MODIFY_EXPR, in which
|
||||
case no actual data motion may occur. TREE_ADDRESSABLE will be set in
|
||||
this case and GCC must abort if it could not do the operation without
|
||||
generating insns. */
|
||||
DEFTREECODE (VIEW_CONVERT_EXPR, "view_convert_expr", tcc_reference, 1)
|
||||
|
||||
/* C unary `*' or Pascal `^'. One operand, an expression for a pointer. */
|
||||
DEFTREECODE (INDIRECT_REF, "indirect_ref", tcc_reference, 1)
|
||||
|
||||
|
@ -769,18 +781,6 @@ DEFTREECODE (NOP_EXPR, "nop_expr", tcc_unary, 1)
|
|||
/* Value is same as argument, but guaranteed not an lvalue. */
|
||||
DEFTREECODE (NON_LVALUE_EXPR, "non_lvalue_expr", tcc_unary, 1)
|
||||
|
||||
/* Represents viewing something of one type as being of a second type.
|
||||
This corresponds to an "Unchecked Conversion" in Ada and roughly to
|
||||
the idiom *(type2 *)&X in C. The only operand is the value to be
|
||||
viewed as being of another type. It is undefined if the type of the
|
||||
input and of the expression have different sizes.
|
||||
|
||||
This code may also be used within the LHS of a MODIFY_EXPR, in which
|
||||
case no actual data motion may occur. TREE_ADDRESSABLE will be set in
|
||||
this case and GCC must abort if it could not do the operation without
|
||||
generating insns. */
|
||||
DEFTREECODE (VIEW_CONVERT_EXPR, "view_convert_expr", tcc_reference, 1)
|
||||
|
||||
/* A COMPOUND_LITERAL_EXPR represents a literal that is placed in a DECL. The
|
||||
COMPOUND_LITERAL_EXPR_DECL_EXPR is the a DECL_EXPR containing the decl
|
||||
for the anonymous object represented by the COMPOUND_LITERAL;
|
||||
|
|
|
@ -5029,13 +5029,13 @@ handled_component_p (const_tree t)
|
|||
{
|
||||
switch (TREE_CODE (t))
|
||||
{
|
||||
case BIT_FIELD_REF:
|
||||
case COMPONENT_REF:
|
||||
case BIT_FIELD_REF:
|
||||
case ARRAY_REF:
|
||||
case ARRAY_RANGE_REF:
|
||||
case VIEW_CONVERT_EXPR:
|
||||
case REALPART_EXPR:
|
||||
case IMAGPART_EXPR:
|
||||
case VIEW_CONVERT_EXPR:
|
||||
return true;
|
||||
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue