This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fix rtl-opt/15289, part 1


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.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]