[arcmt] Remove '-arcmt-modify-in-memory', it turned out less useful than we hoped it would be.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133315 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/ARCMigrate/ARCMT.h b/include/clang/ARCMigrate/ARCMT.h
index 013f46b..13f0778 100644
--- a/include/clang/ARCMigrate/ARCMT.h
+++ b/include/clang/ARCMigrate/ARCMT.h
@@ -41,12 +41,6 @@
                           llvm::StringRef Filename, InputKind Kind,
                           DiagnosticClient *DiagClient);
 
-/// \brief Like applyTransformations but no source file is modified, compilation
-/// happens using in-memory buffers.
-bool applyTransformationsInMemory(CompilerInvocation &origCI,
-                                  llvm::StringRef Filename, InputKind Kind,
-                                  DiagnosticClient *DiagClient);
-
 typedef void (*TransformFn)(MigrationPass &pass);
 
 std::vector<TransformFn> getAllTransformations();
diff --git a/include/clang/ARCMigrate/ARCMTActions.h b/include/clang/ARCMigrate/ARCMTActions.h
index d2d9410..2dd57ab 100644
--- a/include/clang/ARCMigrate/ARCMTActions.h
+++ b/include/clang/ARCMigrate/ARCMTActions.h
@@ -32,14 +32,6 @@
   TransformationAction(FrontendAction *WrappedAction);
 };
 
-class InMemoryTransformationAction : public WrapperFrontendAction {
-protected:
-  virtual void ExecuteAction();
-
-public:
-  InMemoryTransformationAction(FrontendAction *WrappedAction);
-};
-
 }
 }
 
diff --git a/include/clang/Driver/CC1Options.td b/include/clang/Driver/CC1Options.td
index cc59408..029c331 100644
--- a/include/clang/Driver/CC1Options.td
+++ b/include/clang/Driver/CC1Options.td
@@ -387,8 +387,6 @@
   HelpText<"Check for ARC migration issues that need manual handling">;
 def arcmt_modify : Flag<"-arcmt-modify">,
   HelpText<"Apply modifications to files to conform to ARC">;
-def arcmt_modify_in_memory : Flag<"-arcmt-modify-in-memory">,
-  HelpText<"Apply ARC conforming modifications & compile using memory buffers">;
 
 def import_module : Separate<"-import-module">,
   HelpText<"Import a module definition file">;
diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td
index 6b2af95..6f62489 100644
--- a/include/clang/Driver/Options.td
+++ b/include/clang/Driver/Options.td
@@ -116,8 +116,6 @@
   HelpText<"Check for ARC migration issues that need manual handling">;
 def ccc_arrmt_modify : Flag<"-ccc-arrmt-modify">, CCCDriverOpt,
   HelpText<"Apply modifications to files to conform to ARC">;
-def ccc_arrmt_modify_in_memory : Flag<"-ccc-arrmt-modify-in-memory">,
-  HelpText<"Apply ARC conforming modifications & compile using memory buffers">;
 
 // Make sure all other -ccc- options are rejected.
 def ccc_ : Joined<"-ccc-">, Group<ccc_Group>, Flags<[Unsupported]>;
diff --git a/include/clang/Frontend/FrontendOptions.h b/include/clang/Frontend/FrontendOptions.h
index e97be26..18117e9 100644
--- a/include/clang/Frontend/FrontendOptions.h
+++ b/include/clang/Frontend/FrontendOptions.h
@@ -80,8 +80,7 @@
   enum {
     ARCMT_None,
     ARCMT_Check,
-    ARCMT_Modify,
-    ARCMT_ModifyInMemory
+    ARCMT_Modify
   } ARCMTAction;
 
   /// The input files and their types.
diff --git a/lib/ARCMigrate/ARCMT.cpp b/lib/ARCMigrate/ARCMT.cpp
index 98e593c..04c35e2 100644
--- a/lib/ARCMigrate/ARCMT.cpp
+++ b/lib/ARCMigrate/ARCMT.cpp
@@ -277,41 +277,6 @@
 }
 
 //===----------------------------------------------------------------------===//
-// applyTransformationsInMemory.
-//===----------------------------------------------------------------------===//
-
-bool arcmt::applyTransformationsInMemory(CompilerInvocation &origCI,
-                                       llvm::StringRef Filename, InputKind Kind,
-                                       DiagnosticClient *DiagClient) {
-  if (!origCI.getLangOpts().ObjC1)
-    return false;
-
-  // Make sure checking is successful first.
-  CompilerInvocation CInvokForCheck(origCI);
-  if (arcmt::checkForManualIssues(CInvokForCheck, Filename, Kind, DiagClient))
-    return true;
-
-  CompilerInvocation CInvok(origCI);
-  CInvok.getFrontendOpts().Inputs.clear();
-  CInvok.getFrontendOpts().Inputs.push_back(std::make_pair(Kind, Filename));
-  
-  MigrationProcess migration(CInvok, DiagClient);
-
-  std::vector<TransformFn> transforms = arcmt::getAllTransformations();
-  assert(!transforms.empty());
-
-  for (unsigned i=0, e = transforms.size(); i != e; ++i) {
-    bool err = migration.applyTransform(transforms[i]);
-    if (err) return true;
-  }
-
-  origCI.getLangOpts().ObjCAutoRefCount = true;
-  migration.getRemapper().transferMappingsAndClear(origCI);
-
-  return false;
-}
-
-//===----------------------------------------------------------------------===//
 // CollectTransformActions.
 //===----------------------------------------------------------------------===//
 
diff --git a/lib/ARCMigrate/ARCMTActions.cpp b/lib/ARCMigrate/ARCMTActions.cpp
index a30c278..4da928a 100644
--- a/lib/ARCMigrate/ARCMTActions.cpp
+++ b/lib/ARCMigrate/ARCMTActions.cpp
@@ -41,18 +41,3 @@
 
 TransformationAction::TransformationAction(FrontendAction *WrappedAction)
   : WrapperFrontendAction(WrappedAction) {}
-
-void InMemoryTransformationAction::ExecuteAction() {
-  CompilerInstance &CI = getCompilerInstance();
-  if (arcmt::applyTransformationsInMemory(CI.getInvocation(), getCurrentFile(),
-                                          getCurrentFileKind(),
-                                          CI.getDiagnostics().getClient()))
-    return;
-
-  WrapperFrontendAction::ExecuteAction();
-}
-
-InMemoryTransformationAction::InMemoryTransformationAction(
-    FrontendAction *WrappedAction)
-  : WrapperFrontendAction(WrappedAction) {}
-
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index b72f12a..804094b 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -1391,8 +1391,7 @@
 
   if (!Args.hasArg(options::OPT_fno_objc_arc)) {
     if (const Arg *A = Args.getLastArg(options::OPT_ccc_arrmt_check,
-                                       options::OPT_ccc_arrmt_modify,
-                                       options::OPT_ccc_arrmt_modify_in_memory)) {
+                                       options::OPT_ccc_arrmt_modify)) {
       switch (A->getOption().getID()) {
       default:
         llvm_unreachable("missed a case");
@@ -1402,9 +1401,6 @@
       case options::OPT_ccc_arrmt_modify:
         CmdArgs.push_back("-arcmt-modify");
         break;
-      case options::OPT_ccc_arrmt_modify_in_memory:
-        CmdArgs.push_back("-arcmt-modify-in-memory");
-        break;
       }
     }
   }
diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp
index 2c158fb..c9718c4 100644
--- a/lib/Frontend/CompilerInvocation.cpp
+++ b/lib/Frontend/CompilerInvocation.cpp
@@ -424,9 +424,6 @@
   case FrontendOptions::ARCMT_Modify:
     Res.push_back("-arcmt-modify");
     break;
-  case FrontendOptions::ARCMT_ModifyInMemory:
-    Res.push_back("-arcmt-modify-in-memory");
-    break;
   }
 
   bool NeedLang = false;
@@ -1242,8 +1239,7 @@
 
   Opts.ARCMTAction = FrontendOptions::ARCMT_None;
   if (const Arg *A = Args.getLastArg(OPT_arcmt_check,
-                                     OPT_arcmt_modify,
-                                     OPT_arcmt_modify_in_memory)) {
+                                     OPT_arcmt_modify)) {
     switch (A->getOption().getID()) {
     default:
       llvm_unreachable("missed a case");
@@ -1253,9 +1249,6 @@
     case OPT_arcmt_modify:
       Opts.ARCMTAction = FrontendOptions::ARCMT_Modify;
       break;
-    case OPT_arcmt_modify_in_memory:
-      Opts.ARCMTAction = FrontendOptions::ARCMT_ModifyInMemory;
-      break;
     }
   }
 
diff --git a/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/lib/FrontendTool/ExecuteCompilerInvocation.cpp
index 7ad263e..eb1c208 100644
--- a/lib/FrontendTool/ExecuteCompilerInvocation.cpp
+++ b/lib/FrontendTool/ExecuteCompilerInvocation.cpp
@@ -100,9 +100,6 @@
   case FrontendOptions::ARCMT_Modify:
     Act = new arcmt::TransformationAction(Act);
     break;
-  case FrontendOptions::ARCMT_ModifyInMemory:
-    Act = new arcmt::InMemoryTransformationAction(Act);
-    break;
   }
 
   // If there are any AST files to merge, create a frontend action