tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Make case self-contained.
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>: Make case self-contained. <ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag. ada/ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>: Set TYPE_NONALIASED_COMPONENT on the array type. From-SVN: r144021
This commit is contained in:
parent
ede965edbc
commit
9a58d4d27c
|
@ -1,3 +1,9 @@
|
|||
2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
|
||||
Make case self-contained.
|
||||
<ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag.
|
||||
|
||||
2009-02-07 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
* config/avr/avr.c (avr_mcu_t): Add ata6289 device.
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2009-02-08 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
|
||||
Set TYPE_NONALIASED_COMPONENT on the array type.
|
||||
|
||||
2009-01-31 Laurent GUERBY <laurent@guerby.net>
|
||||
|
||||
* gcc-interface/Makefile.in: Fix mipsel linux handling.
|
||||
|
|
|
@ -2615,6 +2615,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
|
|||
gnu_type
|
||||
= build_array_type (gnat_to_gnu_type (Component_Type (gnat_entity)),
|
||||
gnu_index_type);
|
||||
TYPE_NONALIASED_COMPONENT (gnu_type) = 1;
|
||||
copy_alias_set (gnu_type, gnu_string_type);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -1562,15 +1562,14 @@ may_be_nonaddressable_p (tree expr)
|
|||
and make them look addressable. After some processing the
|
||||
non-addressability may be uncovered again, causing ADDR_EXPRs
|
||||
of inappropriate objects to be built. */
|
||||
if (is_gimple_reg (TREE_OPERAND (expr, 0))
|
||||
|| !is_gimple_addressable (TREE_OPERAND (expr, 0)))
|
||||
return true;
|
||||
|
||||
/* ... fall through ... */
|
||||
return is_gimple_reg (TREE_OPERAND (expr, 0))
|
||||
|| !is_gimple_addressable (TREE_OPERAND (expr, 0))
|
||||
|| may_be_nonaddressable_p (TREE_OPERAND (expr, 0));
|
||||
|
||||
case ARRAY_REF:
|
||||
case ARRAY_RANGE_REF:
|
||||
return may_be_nonaddressable_p (TREE_OPERAND (expr, 0));
|
||||
return TYPE_NONALIASED_COMPONENT (TREE_TYPE (TREE_OPERAND (expr, 0)))
|
||||
|| may_be_nonaddressable_p (TREE_OPERAND (expr, 0));
|
||||
|
||||
CASE_CONVERT:
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue