You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AST checks aliasing with MustAlias sets by only checking the
representative pointer (getSomePointer). This is only correct
if the Size and AATags information of that pointer also includes
the Size/AATags of all other pointers in the set.
When we add a new pointer to the AliasSet, we do perform this
update (see the code in AliasSet::addPointer). However, if a
pointer already in the MustAlias set is used with a new size,
we currently do not update the representative pointer, resulting
in miscompilations. Fix this by adding the missing update.
This is targeted fix using the current representation. There are
a couple of alternatives:
* For MustAlias sets, don't store per-pointer Size/AATags at all.
This would make it clear that there is only one set of common
Size/AATags for all pointers.
* Check against all pointers in the set even for MustAlias. This
is what llvm#65731
proposes to do as part of a larger change to AST representation.
Fixesllvm#64897.
0 commit comments