summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-10-14 22:12:17 +0000
committerTim Northover <tnorthover@apple.com>2014-10-14 22:12:17 +0000
commitcf6ce0c8f750e8d62831f8058a9ee44f57a972cd (patch)
treedd0a00b39030d73c54ca5f1c7d102e2b6bd2fdbd /llvm/lib
parent9a4c043d675380904c76caa461741cc450c9831c (diff)
downloadbcm5719-llvm-cf6ce0c8f750e8d62831f8058a9ee44f57a972cd.tar.gz
bcm5719-llvm-cf6ce0c8f750e8d62831f8058a9ee44f57a972cd.zip
ARM: remove ARM/Thumb distinction for preferred alignment.
Thumb1 has legitimate reasons for preferring 32-bit alignment of types i1/i8/i16, since the 16-bit encoding of "add rD, sp, #imm" requires #imm to be a multiple of 4. However, this is a trade-off betweem code size and RAM usage; the DataLayout string is not the best place to represent it even if desired. So this patch removes the extra Thumb requirements, hopefully making ARM and Thumb completely compatible in this respect. llvm-svn: 219734
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.cpp5
1 files changed, 0 insertions, 5 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.cpp b/llvm/lib/Target/ARM/ARMSubtarget.cpp
index bc04f37331e..89534fb0141 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.cpp
+++ b/llvm/lib/Target/ARM/ARMSubtarget.cpp
@@ -102,11 +102,6 @@ static std::string computeDataLayout(ARMSubtarget &ST) {
// Pointers are 32 bits and aligned to 32 bits.
Ret += "-p:32:32";
- // On thumb, i16,i18 and i1 have natural aligment requirements, but we try to
- // align to 32.
- if (ST.isThumb())
- Ret += "-i1:8:32-i8:8:32-i16:16:32";
-
// ABIs other than APCS have 64 bit integers with natural alignment.
if (!ST.isAPCS_ABI())
Ret += "-i64:64";
OpenPOWER on IntegriCloud