summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorAndrey Turetskiy <andrey.turetskiy@gmail.com>2016-02-10 11:58:46 +0000
committerAndrey Turetskiy <andrey.turetskiy@gmail.com>2016-02-10 11:58:46 +0000
commitdb6655fd902a9f012e26b63033001e52dbbc1db6 (patch)
tree75b9c478e0eae6b6fd4cc6af72e3e2fb0ada16de /clang/lib/Basic/Targets.cpp
parent2396c38a8a9962d23f66357b0932cf2795b0f360 (diff)
downloadbcm5719-llvm-db6655fd902a9f012e26b63033001e52dbbc1db6.tar.gz
bcm5719-llvm-db6655fd902a9f012e26b63033001e52dbbc1db6.zip
[X86] Fix stack alignment for MCU target (Clang part), by Anton Nadolskiy.
This patch fixes stack alignments for MCU (should be aligned to 4 bytes). Differential Revision: http://reviews.llvm.org/D15647 llvm-svn: 260376
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 3788a82a5fb..5501ceb7021 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -3807,6 +3807,8 @@ public:
: WindowsX86_32TargetInfo(Triple) {
LongDoubleWidth = LongDoubleAlign = 64;
LongDoubleFormat = &llvm::APFloat::IEEEdouble;
+ DataLayoutString =
+ "e-m:e-p:32:32-i64:32-f64:32-f128:32-n8:16:32-a:0:32-S32";
}
void getTargetDefines(const LangOptions &Opts,
MacroBuilder &Builder) const override {
@@ -3926,6 +3928,10 @@ public:
Builder.defineMacro("__iamcu");
Builder.defineMacro("__iamcu__");
}
+
+ bool allowsLargerPreferedTypeAlignment() const override {
+ return false;
+ }
};
// RTEMS Target
@@ -7491,6 +7497,9 @@ public:
// R0=ExceptionPointerRegister R1=ExceptionSelectorRegister
return (RegNo < 2)? RegNo : -1;
}
+ bool allowsLargerPreferedTypeAlignment() const override {
+ return false;
+ }
};
const Builtin::Info XCoreTargetInfo::BuiltinInfo[] = {
OpenPOWER on IntegriCloud