AU.setPreservesAll(); // Does not transform code
AU.addRequiredTransitive<TDDataStructures>(); // Uses TD Datastructures
AU.addRequiredTransitive<BUDataStructures>(); // Uses BU Datastructures
- AU.addRequired<AliasAnalysis>(); // Chains to another AA impl
}
//------------------------------------------------
void getMustAliases(Value *P, std::vector<Value*> &RetVals);
- bool pointsToConstantMemory(const Value *P) {
- return getAnalysis<AliasAnalysis>().pointsToConstantMemory(P);
- }
-
- AliasAnalysis::ModRefResult
- getModRefInfo(CallSite CS, Value *P, unsigned Size);
+ ModRefResult getModRefInfo(CallSite CS, Value *P, unsigned Size);
private:
DSGraph *getGraphForValue(const Value *V);
// FIXME: we could improve on this by checking the globals graph for aliased
// global queries...
- return getAnalysis<AliasAnalysis>().alias(V1, V1Size, V2, V2Size);
+ return AliasAnalysis::alias(V1, V1Size, V2, V2Size);
}
/// getModRefInfo - does a callsite modify or reference a value?
}
}
#endif
- return getAnalysis<AliasAnalysis>().getMustAliases(P, RetVals);
+ return AliasAnalysis::getMustAliases(P, RetVals);
}