]> granicus.if.org Git - clang/commitdiff
Fix an oversight: don't run ARC optimization cleanup at -O0.
authorDan Gohman <gohman@apple.com>
Wed, 4 Apr 2012 21:04:56 +0000 (21:04 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 4 Apr 2012 21:04:56 +0000 (21:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154052 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/BackendUtil.cpp

index a65ae82c1db8cd8de426427cbef96c1bcbadbcf4..edc3a47186c0b4ddd80712fed170c61db46dd0ea 100644 (file)
@@ -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,