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: [PATCH] Repair TYPE_REF_CAN_ALIAS_ALL machinery


On 5/22/06, Eric Botcazou <ebotcazou@adacore.com> wrote:
> I wonder why the machinery for handling pointers with alias set zero
> does not trigger
> here.  Can you check if the ada langhook for get_alias_set returns
> something different
> than -1 for pointers with TYPE_REF_CAN_ALIAS_ALL?  Or why get_alias_set
> does not return 0 for those types?

I'm under the impression that you're confusing alias set of the pointed-to
type and alias set of the pointer type.  As suggested by Olivier, another
possible track could be to tweak tree-ssa-alias.c:may_alias_p, although I'm
not sure whether this would be sufficient.

I don't like the tree-ssa-operands.c part of the patch as we should have a mechanism that deals with this problem already, as we have char* pointers. Btw. I couldn't construct a C testcase that failed. So, as you noticed I confused the type somewhat so one would need to amend the get_alias_set calls in tree-ssa-alias.c:get_tmt_for and friends to check for TYPE_REF_CAN_ALIAS_ALL on the pointer type and use alias set 0 in this case.

Richard.


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