aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/BackendUtil.cpp
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2012-04-04 21:04:56 +0000
committerDan Gohman <gohman@apple.com>2012-04-04 21:04:56 +0000
commit1170b0885f635ef8566d017221e4986ea69cbeb3 (patch)
treea8c2ebbb93921d1620fdbd28b5556ba54503184c /clang/lib/CodeGen/BackendUtil.cpp
parentd7290700e64b5732ac20fb4e89940baa46d9b31d (diff)
downloadllvm-1170b0885f635ef8566d017221e4986ea69cbeb3.zip
llvm-1170b0885f635ef8566d017221e4986ea69cbeb3.tar.gz
llvm-1170b0885f635ef8566d017221e4986ea69cbeb3.tar.bz2
Fix an oversight: don't run ARC optimization cleanup at -O0.
llvm-svn: 154052
Diffstat (limited to 'clang/lib/CodeGen/BackendUtil.cpp')
-rw-r--r--clang/lib/CodeGen/BackendUtil.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index a65ae82..edc3a47 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -382,7 +382,8 @@ bool EmitAssemblyHelper::AddEmitPasses(BackendAction Action,
// Add ObjC ARC final-cleanup optimizations. This is done as part of the
// "codegen" passes so that it isn't run multiple times when there is
// inlining happening.
- if (LangOpts.ObjCAutoRefCount)
+ if (LangOpts.ObjCAutoRefCount &&
+ CodeGenOpts.OptimizationLevel > 0)
PM->add(createObjCARCContractPass());
if (TM->addPassesToEmitFile(*PM, OS, CGFT,