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: Incorrect bitfield aliasing with Tree SSA


On 6/18/07, Eric Botcazou <ebotcazou@libertysurf.fr> wrote:
> We determine, during pruning, which type based alias sets are required
> to be merged into a variable based on the alias set's subset
> relationship.  All fields are required to (and always have been) have
> alias sets that are proper subsets their parent structure type.

OK.  Can the "proper" restriction be lifted somehow?  I don't understand why
it is crucial.

Because we need to know which alias sets can be pointed to by a pointer to a containing structure?

I'd rather not, but if you want, changing alias_set_subset_of to
alias_set_subset_or_equal_to (and modifying it to check if set1 ==
set2) would do this.

However, I absolutely guarantee this will cause us bugs and problems
later, but am willing to simply say "I told you so" at that point if
this is the solution you really want to pursue.  :)


> Because you have broken this subset relationship by trying to reuse > the parent alias set, we do not get this right at the tree level.

I haven't broken anything.  This code predates my involvement (and maybe
yours) with GCC.  And It Works Fine in the GCC 3.x series of compilers.

Only because nothing really uses it. Remember that the RTL level uses alias set 0 here for these things (Or at least this is what Adam said).

--Dan


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