aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/DataStructure/CompleteBottomUp.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2005-03-18 23:19:47 +0000
committerChris Lattner <sabre@nondot.org>2005-03-18 23:19:47 +0000
commit5021b8c2d6fd91c973dfca2dd22c9edd7d90f6a8 (patch)
tree6c8fc553d9bfa911751c3c3f33162ef7a477e88c /lib/Analysis/DataStructure/CompleteBottomUp.cpp
parentdb7436aae8fc1f3cd993a2a78c4f919bb21e6599 (diff)
do not bother inlining nullary functions without return values. The only
effect these calls can have is due to global variables, and these passes all use the globals graph to capture their effect anyway. This speeds up the BU pass very slightly on perlbmk, reducing the number of dsnodes allocated from 98913 to 96423. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20676 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/DataStructure/CompleteBottomUp.cpp')
-rw-r--r--lib/Analysis/DataStructure/CompleteBottomUp.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/Analysis/DataStructure/CompleteBottomUp.cpp b/lib/Analysis/DataStructure/CompleteBottomUp.cpp
index 5a0436c061..a70080a8c6 100644
--- a/lib/Analysis/DataStructure/CompleteBottomUp.cpp
+++ b/lib/Analysis/DataStructure/CompleteBottomUp.cpp
@@ -217,7 +217,11 @@ void CompleteBUDataStructures::processGraph(DSGraph &G) {
assert(calls.insert(TheCall).second &&
"Call instruction occurs multiple times in graph??");
-
+
+ // Fast path for noop calls. Note that we don't care about merging globals
+ // in the callee with nodes in the caller here.
+ if (CS.getRetVal().isNull() && CS.getNumPtrArgs() == 0)
+ continue;
// Loop over all of the potentially called functions...
// Inline direct calls as well as indirect calls because the direct