summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandeep Patel <deeppatel1987@gmail.com>2011-04-04 22:58:12 +0000
committerSandeep Patel <deeppatel1987@gmail.com>2011-04-04 22:58:12 +0000
commitf87b3739cc6d58823d06c1c48a8ea312159f53ce (patch)
treead0cb4507f6f9d2e3c311633b55d5bc055be59d1
parent3657c006ccd3bb863cee3cf32e5f90c8ca8bd6e6 (diff)
downloadbcm5719-llvm-f87b3739cc6d58823d06c1c48a8ea312159f53ce.tar.gz
bcm5719-llvm-f87b3739cc6d58823d06c1c48a8ea312159f53ce.zip
Explain why layout prefers 32 for small types on Thumb.
llvm-svn: 128850
-rw-r--r--clang/lib/Basic/Targets.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 00c8657e2bb..973518312db 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -1729,6 +1729,8 @@ public:
// FIXME: Should we just treat this as a feature?
IsThumb = getTriple().getArchName().startswith("thumb");
if (IsThumb) {
+ // Thumb1 add sp, #imm requires the immediate value be multiple of 4,
+ // so set preferred for small types to 32.
DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-"
"i64:64:64-f32:32:32-f64:64:64-"
"v64:64:64-v128:64:128-a0:0:32-n32");
@@ -1758,6 +1760,8 @@ public:
UseBitFieldTypeAlignment = false;
if (IsThumb) {
+ // Thumb1 add sp, #imm requires the immediate value be multiple of 4,
+ // so set preferred for small types to 32.
DescriptionString = ("e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-"
"i64:32:32-f32:32:32-f64:32:32-"
"v64:32:64-v128:32:128-a0:0:32-n32");
OpenPOWER on IntegriCloud