This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Ada and TBAA and arrays vs. VIEW_CONVERT_EXPRs
On Mon, 9 Feb 2009, Eric Botcazou wrote:
> > Yeah, well. I just wanted to say that the situation in the optimizers
> > may be unfortunate (may_be_nonaddressable_p misses to test
> > TYPE_NONALIASED_COMPONENT, so arrays are still treated wrong).
>
> Yes, that's exactly what I wrote in the previous message. :-) Fixed thusly,
> tested on x86-64_suse-linux, applied on the mainline as obvious.
Thanks.
Another candidate to look at is vect_create_data_ref_ptr. Probably
others that I didn't think of as well. Note that using
DECL_POINTER_ALIAS_SET may work, so we shouldn't need to disable
vectorization of arrays with TYPE_NONALIASED_COMPONENT set.
Richard.
>
> 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.
> ada/
> * gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
> Set TYPE_NONALIASED_COMPONENT on the array type.