summaryrefslogtreecommitdiff
path: root/test/Analysis/objc-method-coverage.m
diff options
context:
space:
mode:
authorAnna Zaks <ganna@apple.com>2012-12-07 21:51:47 +0000
committerAnna Zaks <ganna@apple.com>2012-12-07 21:51:47 +0000
commit75f31c4862643ab09479c979fabf754e7ffe1460 (patch)
tree72faf09798aeba68ce163ae3d17d78d8328969f2 /test/Analysis/objc-method-coverage.m
parent8784b03d35ff99d1851ef63bc3cccb651c7672d9 (diff)
downloadclang-75f31c4862643ab09479c979fabf754e7ffe1460.tar.gz
[analyzer] Optimization heuristic: do not reanalyze every ObjC method as
top level. This heuristic is already turned on for non-ObjC methods (inlining-mode=noredundancy). If a method has been previously analyzed, while being inlined inside of another method, do not reanalyze it as top level. This commit applies it to ObjCMethods as well. The main caveat here is that to catch the retain release errors, we are still going to reanalyze all the ObjC methods but without inlining turned on. Gives 21% performance increase on one heavy ObjC benchmark, which suffered large performance regressions due to ObjC inlining. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169639 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis/objc-method-coverage.m')
-rw-r--r--test/Analysis/objc-method-coverage.m2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/Analysis/objc-method-coverage.m b/test/Analysis/objc-method-coverage.m
index 3088a29a06..50a4888dfa 100644
--- a/test/Analysis/objc-method-coverage.m
+++ b/test/Analysis/objc-method-coverage.m
@@ -14,4 +14,4 @@ int f() {
@end
// CHECK: ... Statistics Collected ...
-// CHECK: 2 AnalysisConsumer - The # of functions analysed (as top level). \ No newline at end of file
+// CHECK: 2 AnalysisConsumer - The # of functions and blocks analyzed (as top level). \ No newline at end of file