-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[GVN/MemDep] Limit the size of the cache for non-local dependencies. #150539
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@llvm/pr-subscribers-llvm-analysis Author: Alina Sbirlea (alinas) ChangesAn attempt to resolve the issue flagged in PR150531 Full diff: https://github.com/llvm/llvm-project/pull/150539.diff 1 Files Affected:
diff --git a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
index 3aa9909df8e55..20c38caaf37cd 100644
--- a/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
+++ b/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
@@ -80,6 +80,10 @@ static cl::opt<unsigned>
cl::desc("The number of blocks to scan during memory "
"dependency analysis (default = 200)"));
+static cl::opt<unsigned> CacheGlobalLimit(
+ "cache-global-limit", cl::Hidden, cl::init(5000),
+ cl::desc("The max number of entries allowed in a cache (default = 5000)"));
+
// Limit on the number of memdep results to process.
static const unsigned int NumResultsLimit = 100;
@@ -1138,6 +1142,11 @@ bool MemoryDependenceResults::getNonLocalPointerDepFromBB(
return true;
}
+ // If the size of this cache has surpassed the global limit, stop here.
+ if (Cache->size() > CacheGlobalLimit) {
+ return false;
+ }
+
// Otherwise, either this is a new block, a block with an invalid cache
// pointer or one that we're about to invalidate by putting more info into
// it than its valid cache info. If empty and not explicitly indicated as
|
|
Any objections of adding such a limit for this cache? |
nikic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/88/builds/16408 Here is the relevant piece of the build log for the reference |
An attempt to resolve the issue flagged in PR150531