[objc-arc] Added an option to arc-annotations for turning off CheckForCFGHazard.
authorMichael Gottesman <mgottesman@apple.com>
Wed, 17 Apr 2013 20:48:01 +0000 (20:48 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Wed, 17 Apr 2013 20:48:01 +0000 (20:48 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179717 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/ObjCARC/ObjCARCOpts.cpp

index cddf00bea775fdab99949963a8d1aa11f0ba59fc..bf1c93dc8db4383d3be840b5f6285895639d8fd1 100644 (file)
@@ -710,6 +710,9 @@ void BBState::MergeSucc(const BBState &Other) {
 /// Enable/disable ARC sequence annotations.
 static cl::opt<bool>
 EnableARCAnnotations("enable-objc-arc-annotations", cl::init(false));
+static cl::opt<bool>
+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;
 }