AliasSetTracker now doesn't convert access mode to ModRefAccess if new visited UnknownInst has only 'REF' modrefinfo to existing pointers is sets.
And ref-aliased by call pointers can be hoisted out of loop.
// FIXME: This should use mod/ref information to make this not suck so bad
Alias = SetMayAlias;
- Access = ModRefAccess;
+ Access = (MR & MRI_Mod) ? ModRefAccess : RefAccess;
This is not your fault, but seems silly. ModRefInfo in AliasAnalysis.h and AccessLattice in AliasSetTracker.h are the *same* enum (modulo the names). We should just fix that (make AccessLattice == ModRefInfo), and eliminate the need for this switch statement.
If you don't want to do that first, please add a FIXME.