[PM/AA] Start refactoring AliasAnalysis to remove the analysis group and
port it to the new pass manager. All this does is extract the inner "location" class used by AA into its own full fledged type. This seems *much* cleaner as MemoryDependence and soon MemorySSA also use this heavily, and it doesn't make much sense being inside the AA infrastructure. This will also make it much easier to break apart the AA infrastructure into something that stands on its own rather than using the analysis group design. There are a few places where this makes APIs not make sense -- they were taking an AliasAnalysis pointer just to build locations. I'll try to clean those up in follow-up commits. Differential Revision: http://reviews.llvm.org/D10228 llvm-svn: 239003
This commit is contained in:
@@ -1066,7 +1066,7 @@ void LoopAccessInfo::analyzeLoop(const ValueToValueMap &Strides) {
|
||||
if (Seen.insert(Ptr).second) {
|
||||
++NumReadWrites;
|
||||
|
||||
AliasAnalysis::Location Loc = AA->getLocation(ST);
|
||||
AliasAnalysis::Location Loc = MemoryLocation::get(ST);
|
||||
// The TBAA metadata could have a control dependency on the predication
|
||||
// condition, so we cannot rely on it when determining whether or not we
|
||||
// need runtime pointer checks.
|
||||
@@ -1102,7 +1102,7 @@ void LoopAccessInfo::analyzeLoop(const ValueToValueMap &Strides) {
|
||||
IsReadOnlyPtr = true;
|
||||
}
|
||||
|
||||
AliasAnalysis::Location Loc = AA->getLocation(LD);
|
||||
AliasAnalysis::Location Loc = MemoryLocation::get(LD);
|
||||
// The TBAA metadata could have a control dependency on the predication
|
||||
// condition, so we cannot rely on it when determining whether or not we
|
||||
// need runtime pointer checks.
|
||||
|
||||
Reference in New Issue
Block a user