summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorAlina Sbirlea <asbirlea@google.com>2019-02-06 19:55:12 +0000
committerAlina Sbirlea <asbirlea@google.com>2019-02-06 19:55:12 +0000
commit910c6bef3e69fe1754947fb7860f5f34fd4acf09 (patch)
tree3b990ee7d2f2ea81a869e1b8080814d65f8ba340 /llvm/include
parent1c7ee208195bb9949adae02df7d92aaf1d252345 (diff)
downloadbcm5719-llvm-910c6bef3e69fe1754947fb7860f5f34fd4acf09.tar.gz
bcm5719-llvm-910c6bef3e69fe1754947fb7860f5f34fd4acf09.zip
[AliasSetTracker] Pass MustAlias to addPointer more often.
Summary: Pass the alias info to addPointer when available. Will save an alias() call for must sets when adding a known Must or May alias. [Part of a series of cleanup patches] Reviewers: reames, mkazantsev Subscribers: sanjoy, jlebar, llvm-commits Differential Revision: https://reviews.llvm.org/D56613 llvm-svn: 353335
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/Analysis/AliasSetTracker.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/include/llvm/Analysis/AliasSetTracker.h b/llvm/include/llvm/Analysis/AliasSetTracker.h
index f909b1f963a..46f945d9ef6 100644
--- a/llvm/include/llvm/Analysis/AliasSetTracker.h
+++ b/llvm/include/llvm/Analysis/AliasSetTracker.h
@@ -293,7 +293,8 @@ private:
void removeFromTracker(AliasSetTracker &AST);
void addPointer(AliasSetTracker &AST, PointerRec &Entry, LocationSize Size,
- const AAMDNodes &AAInfo, bool KnownMustAlias = false);
+ const AAMDNodes &AAInfo, bool KnownMustAlias = false,
+ bool SkipSizeUpdate = false);
void addUnknownInst(Instruction *I, AliasAnalysis &AA);
void removeUnknownInst(AliasSetTracker &AST, Instruction *I) {
@@ -438,7 +439,8 @@ private:
AliasSet &addPointer(MemoryLocation Loc, AliasSet::AccessLattice E);
AliasSet *mergeAliasSetsForPointer(const Value *Ptr, LocationSize Size,
- const AAMDNodes &AAInfo);
+ const AAMDNodes &AAInfo,
+ bool &MustAliasAll);
/// Merge all alias sets into a single set that is considered to alias any
/// pointer.
OpenPOWER on IntegriCloud