aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/BackendUtil.cpp
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 /lib/CodeGen/BackendUtil.cpp
parent8784b03d35ff99d1851ef63bc3cccb651c7672d9 (diff)
[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 'lib/CodeGen/BackendUtil.cpp')
0 files changed, 0 insertions, 0 deletions