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) {