Double and Long preferred alignment is 4 for Darwin, 8 for Linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33440 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
index 4ad3cab..492603f 100644
--- a/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/lib/Target/ARM/ARMTargetMachine.cpp
@@ -33,7 +33,11 @@
 /// TargetMachine ctor - Create an ILP32 architecture model
 ///
 ARMTargetMachine::ARMTargetMachine(const Module &M, const std::string &FS)
-  : Subtarget(M, FS), DataLayout("e-p:32:32-d:32"), InstrInfo(Subtarget),
+  : Subtarget(M, FS),
+    DataLayout(Subtarget.isTargetDarwin() ?
+               std::string("e-p:32:32-d:32-l:32") :
+               std::string("e-p:32:32-d:64-l:64")),
+    InstrInfo(Subtarget),
     FrameInfo(Subtarget) {}
 
 unsigned ARMTargetMachine::getModuleMatchQuality(const Module &M) {