Move DataLayout from the PPCTargetMachine to the subtarget.

llvm-svn: 210824
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.h b/llvm/lib/Target/PowerPC/PPCSubtarget.h
index 0e1d283..55145d3 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.h
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.h
@@ -16,6 +16,7 @@
 
 #include "PPCFrameLowering.h"
 #include "llvm/ADT/Triple.h"
+#include "llvm/IR/DataLayout.h"
 #include "llvm/MC/MCInstrItineraries.h"
 #include "llvm/Target/TargetSubtargetInfo.h"
 #include <string>
@@ -104,6 +105,8 @@
   CodeGenOpt::Level OptLevel;
 
   PPCFrameLowering    FrameLowering;
+  const DataLayout DL;
+
 public:
   /// This constructor initializes the data members to match that
   /// of the specified triple.
@@ -134,6 +137,7 @@
   const InstrItineraryData &getInstrItineraryData() const { return InstrItins; }
 
   const PPCFrameLowering *getFrameLowering() const { return &FrameLowering; }
+  const DataLayout *getDataLayout() const { return &DL; }
 
   /// initializeSubtargetDependencies - Initializes using a CPU and feature string
   /// so that we can use initializer lists for subtarget initialization.