Make DataLayout a plain object, not a pass.

Instead, have a DataLayoutPass that holds one. This will allow parts of LLVM
don't don't handle passes to also use DataLayout.

llvm-svn: 202168
diff --git a/llvm/tools/opt/opt.cpp b/llvm/tools/opt/opt.cpp
index 9ab4314..19adf78 100644
--- a/llvm/tools/opt/opt.cpp
+++ b/llvm/tools/opt/opt.cpp
@@ -437,7 +437,7 @@
     DL = new DataLayout(DefaultDataLayout);
 
   if (DL)
-    Passes.add(DL);
+    Passes.add(new DataLayoutPass(*DL));
 
   Triple ModuleTriple(M->getTargetTriple());
   TargetMachine *Machine = 0;
@@ -453,7 +453,7 @@
   if (OptLevelO1 || OptLevelO2 || OptLevelOs || OptLevelOz || OptLevelO3) {
     FPasses.reset(new FunctionPassManager(M.get()));
     if (DL)
-      FPasses->add(new DataLayout(*DL));
+      FPasses->add(new DataLayoutPass(*DL));
     if (TM.get())
       TM->addAnalysisPasses(*FPasses);