Answer to Philip Reames comments
[oota-llvm.git] / lib / Transforms / ObjCARC / ObjCARC.cpp
index d4e3149de4a3fc2211fc07fe542fe72a7fd3ed17..373168e89888532c716d63bf7e3c07f7e6ac4a7e 100644 (file)
@@ -1,4 +1,4 @@
-//===-- ObjCARC.cpp --------------------------------------------------------===//
+//===-- ObjCARC.cpp -------------------------------------------------------===//
 //
 //                     The LLVM Compiler Infrastructure
 //
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Transforms/ObjCARC.h"
+#include "ObjCARC.h"
+#include "llvm-c/Core.h"
 #include "llvm-c/Initialization.h"
-#include "llvm/Analysis/Passes.h"
-#include "llvm/Analysis/Verifier.h"
-#include "llvm/IR/DataLayout.h"
 #include "llvm/InitializePasses.h"
-#include "llvm/PassManager.h"
+#include "llvm/Support/CommandLine.h"
+
+namespace llvm {
+  class PassRegistry;
+}
 
 using namespace llvm;
+using namespace llvm::objcarc;
+
+/// \brief A handy option to enable/disable all ARC Optimizations.
+bool llvm::objcarc::EnableARCOpts;
+static cl::opt<bool, true>
+EnableARCOptimizations("enable-objc-arc-opts",
+                       cl::desc("enable/disable all ARC Optimizations"),
+                       cl::location(EnableARCOpts),
+                       cl::init(true));
 
 /// initializeObjCARCOptsPasses - Initialize all passes linked into the
 /// ObjCARCOpts library.