diff --git a/lib/Transforms/ObjCARC/ObjCARCOpts.cpp b/lib/Transforms/ObjCARC/ObjCARCOpts.cpp index cddf00bea775..bf1c93dc8db4 100644 --- a/lib/Transforms/ObjCARC/ObjCARCOpts.cpp +++ b/lib/Transforms/ObjCARC/ObjCARCOpts.cpp @@ -710,6 +710,9 @@ void BBState::MergeSucc(const BBState &Other) { /// Enable/disable ARC sequence annotations. static cl::opt EnableARCAnnotations("enable-objc-arc-annotations", cl::init(false)); +static cl::opt +EnableCheckForCFGHazards("enable-objc-arc-checkforcfghazards", + cl::init(true)); /// This function appends a unique ARCAnnotationProvenanceSourceMDKind id to an /// instruction so that we can track backwards when post processing via the llvm @@ -2170,6 +2173,9 @@ ObjCARCOpt::VisitTopDown(BasicBlock *BB, // bottom of the basic block. ANNOTATE_TOPDOWN_BBEND(MyStates, BB); +#ifdef ARC_ANNOTATIONS + if (EnableARCAnnotations && EnableCheckForCFGHazards) +#endif CheckForCFGHazards(BB, BBStates, MyStates); return NestingDetected; }