aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Rose <jordan_rose@apple.com>2012-12-06 18:58:12 +0000
committerJordan Rose <jordan_rose@apple.com>2012-12-06 18:58:12 +0000
commitfbe4d36f1f83ca12b532e0a946cbffcdb54f904c (patch)
tree843f3124bc7110fc34fa485eaaa4767e18b28643
parent6960d08b4ddf389d7c81504df7f16dc645120482 (diff)
[analyzer] Speed up ExplodedNode::Profile by avoiding copy constructors.
ProgramStateRef::Retain isn't free! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169525 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h b/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
index defac21fa3..971a280384 100644
--- a/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
+++ b/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
@@ -174,7 +174,8 @@ public:
}
void Profile(llvm::FoldingSetNodeID& ID) const {
- Profile(ID, getLocation(), getState(), isSink());
+ // We avoid copy constructors by not using accessors.
+ Profile(ID, Location, State, isSink());
}
/// addPredeccessor - Adds a predecessor to the current node, and