This is the mail archive of the
mailing list for the GCC project.
Re: fix rtl-opt/15289, part 1
- From: Richard Henderson <rth at redhat dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 29 Nov 2004 21:30:33 -0800
- Subject: Re: fix rtl-opt/15289, part 1
- References: <10411300458.AA04192@vlsi1.ultra.nyu.edu>
On Mon, Nov 29, 2004 at 11:58:30PM -0500, Richard Kenner wrote:
> Unfortunately, it's a bit of a mess. The issue is that when you say you
> can "address" a field, the alias set used for the reference to the field
> is that of the type of the field. That's set up to conflict with the alias
> set of the record because record_component_aliases makes the subset relation
> for addressable fields.
> But if the alias set of the record is alias set zero, that's the alias set
> the needs to be used for all references into the record, including those
> of addressable components. This was the way to do that.
Hmm. I suppose it should be fairly easy to generate a test case for this.
> However, I also later added MEM_KEEP_ALIAS_SET_P and tests for MEM_ALIAS_SET
> being zero in code that calls set_mem_alias_set. That *may* be enough,
> but I'm not sure since get_alias_set of such a reference would return
> the alias set of the field type, not alias set 0 if the field is
> considered addressable.
Well, supposing that we do discover that it is still needed, then I think
the test should go somewhere else. Some place not named can_address_p
and more named get_alias_set_for_reference or something.