diff options
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp | 15 | 
1 files changed, 7 insertions, 8 deletions
| diff --git a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp index 43e2e200353..6d2d630bb6f 100644 --- a/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp +++ b/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp @@ -1440,11 +1440,7 @@ void ObjCARCOpt::OptimizeIndividualCalls(Function &F) {      case IC_RetainBlock:        // If we strength reduce an objc_retainBlock to an objc_retain, continue        // onto the objc_retain peephole optimizations. Otherwise break. -      if (!OptimizeRetainBlockCall(F, Inst, Class)) -        break; -      // FALLTHROUGH -    case IC_Retain: -      ++NumRetainsBeforeOpt; +      OptimizeRetainBlockCall(F, Inst, Class);        break;      case IC_RetainRV:        if (OptimizeRetainRVCall(F, Inst)) @@ -1453,9 +1449,6 @@ void ObjCARCOpt::OptimizeIndividualCalls(Function &F) {      case IC_AutoreleaseRV:        OptimizeAutoreleaseRVCall(F, Inst, Class);        break; -    case IC_Release: -      ++NumReleasesBeforeOpt; -      break;      }      // objc_autorelease(x) -> objc_release(x) if x is otherwise unused. @@ -3050,6 +3043,12 @@ bool ObjCARCOpt::runOnFunction(Function &F) {    PA.setAA(&getAnalysis<AliasAnalysis>()); +#ifndef NDEBUG +  if (AreStatisticsEnabled()) { +    GatherStatistics(F, false); +  } +#endif +    // This pass performs several distinct transformations. As a compile-time aid    // when compiling code that isn't ObjC, skip these if the relevant ObjC    // library functions aren't declared. | 

