Add a new interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18266 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2004-11-26 21:36:25 +00:00
parent f3e1d6977e
commit 07bfa52405
2 changed files with 17 additions and 0 deletions

View File

@ -306,6 +306,11 @@ public:
AliasSet *getAliasSetForPointerIfExists(Value *P, unsigned Size) { AliasSet *getAliasSetForPointerIfExists(Value *P, unsigned Size) {
return findAliasSetForPointer(P, Size); return findAliasSetForPointer(P, Size);
} }
/// containsPointer - Return true if the specified location is represented by
/// this alias set, false otherwise. This does not modify the AST object or
/// alias sets.
bool containsPointer(Value *P, unsigned Size) const;
/// getAliasAnalysis - Return the underlying alias analysis object used by /// getAliasAnalysis - Return the underlying alias analysis object used by
/// this tracker. /// this tracker.

View File

@ -189,6 +189,18 @@ AliasSet *AliasSetTracker::findAliasSetForPointer(const Value *Ptr,
return FoundSet; return FoundSet;
} }
/// containsPointer - Return true if the specified location is represented by
/// this alias set, false otherwise. This does not modify the AST object or
/// alias sets.
bool AliasSetTracker::containsPointer(Value *Ptr, unsigned Size) const {
for (const_iterator I = begin(), E = end(); I != E; ++I)
if (!I->Forward && I->aliasesPointer(Ptr, Size, AA))
return true;
return false;
}
AliasSet *AliasSetTracker::findAliasSetForCallSite(CallSite CS) { AliasSet *AliasSetTracker::findAliasSetForCallSite(CallSite CS) {
AliasSet *FoundSet = 0; AliasSet *FoundSet = 0;
for (iterator I = begin(), E = end(); I != E; ++I) for (iterator I = begin(), E = end(); I != E; ++I)