Thumb add sp, #imm requires the immediate value be multiple of 4. For now,
change preferred alignment of short, byte, bool to 4.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33722 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/ARM/ARMTargetMachine.cpp b/lib/Target/ARM/ARMTargetMachine.cpp
index 7e248a6..41456ba 100644
--- a/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/lib/Target/ARM/ARMTargetMachine.cpp
@@ -35,8 +35,12 @@
 ARMTargetMachine::ARMTargetMachine(const Module &M, const std::string &FS)
   : Subtarget(M, FS),
     DataLayout(Subtarget.isTargetDarwin() ?
-               std::string("e-p:32:32-d:32:32-l:32:32") :
-               std::string("e-p:32:32-d:32:64-l:32:64")),
+               (Subtarget.isThumb() ?
+                std::string("e-p:32:32-d:32:32-l:32:32-s:16:32-b:8:32-B:8:32") :
+                std::string("e-p:32:32-d:32:32-l:32:32")) :
+               (Subtarget.isThumb() ?
+                std::string("e-p:32:32-d:32:64-l:32:64-s:16:32-b:8:32-B:8:32") :
+                std::string("e-p:32:32-d:32:64-l:32:64"))),
     InstrInfo(Subtarget),
     FrameInfo(Subtarget) {}