diff options
author | Reid Kleckner <rnk@google.com> | 2016-05-04 02:58:24 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-05-04 02:58:24 +0000 |
commit | 8195f696e493508b4784fbf94471e966457931b1 (patch) | |
tree | 05558c6afec703381fae821b7adff81d5e80bf55 /clang/lib/Basic/TargetInfo.cpp | |
parent | e9bc5ce1240a4daf04bf041d93bc8acf6a200658 (diff) | |
download | bcm5719-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.cpp | 4 |
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 |