summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/TargetInfo.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-05-04 02:58:24 +0000
committerReid Kleckner <rnk@google.com>2016-05-04 02:58:24 +0000
commit8195f696e493508b4784fbf94471e966457931b1 (patch)
tree05558c6afec703381fae821b7adff81d5e80bf55 /clang/lib/Basic/TargetInfo.cpp
parente9bc5ce1240a4daf04bf041d93bc8acf6a200658 (diff)
downloadbcm5719-llvm-8195f696e493508b4784fbf94471e966457931b1.tar.gz
bcm5719-llvm-8195f696e493508b4784fbf94471e966457931b1.zip
[X86] Add -malign-double support
The -malign-double flag causes i64 and f64 types to have alignment 8 instead of 4. On x86-64, the behavior of -malign-double is enabled by default. Rebases and cleans phosek's work here: http://reviews.llvm.org/D12860 Patch by Sean Klein Reviewers: rnk Subscribers: rnk, jfb, dschuff, phosek Differential Revision: http://reviews.llvm.org/D19734 llvm-svn: 268473
Diffstat (limited to 'clang/lib/Basic/TargetInfo.cpp')
-rw-r--r--clang/lib/Basic/TargetInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp
index 40d6001e532..f6973f3942c 100644
--- a/clang/lib/Basic/TargetInfo.cpp
+++ b/clang/lib/Basic/TargetInfo.cpp
@@ -275,6 +275,10 @@ void TargetInfo::adjust(const LangOptions &Opts) {
UseBitFieldTypeAlignment = false;
if (Opts.ShortWChar)
WCharType = UnsignedShort;
+ if (Opts.AlignDouble) {
+ DoubleAlign = LongLongAlign = 64;
+ LongDoubleAlign = 64;
+ }
if (Opts.OpenCL) {
// OpenCL C requires specific widths for types, irrespective of
OpenPOWER on IntegriCloud