[cfe-commits] r141601 - /cfe/trunk/lib/Basic/Targets.cpp
Eli Friedman
eli.friedman at gmail.com
Mon Oct 10 17:37:26 PDT 2011
On Mon, Oct 10, 2011 at 4:44 PM, Lang Hames <lhames at gmail.com> wrote:
> Author: lhames
> Date: Mon Oct 10 18:44:43 2011
> New Revision: 141601
>
> URL: http://llvm.org/viewvc/llvm-project?rev=141601&view=rev
> Log:
> Update target data strings for ARM and X86 to include the natural stack
> alignment parameter "S<size>" that was introduced in r141599.
>
>
> Modified:
> cfe/trunk/lib/Basic/Targets.cpp
>
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=141601&r1=141600&r2=141601&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Mon Oct 10 18:44:43 2011
> @@ -1974,7 +1974,7 @@
> LongDoubleAlign = 32;
> DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"
> - "a0:0:64-f80:32:32-n8:16:32";
> + "a0:0:64-f80:32:32-n8:16:32-S32";
x86-32 Linux actually uses 128-bit stack alignment. And I think
that's true for most x86-32 platforms besides Windows.
-Eli
> SizeType = UnsignedInt;
> PtrDiffType = SignedInt;
> IntPtrType = SignedInt;
> @@ -2020,7 +2020,7 @@
> IntPtrType = SignedLong;
> DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-"
> - "a0:0:64-f80:128:128-n8:16:32";
> + "a0:0:64-f80:128:128-n8:16:32-S128";
> HasAlignMac68kSupport = true;
> }
>
> @@ -2038,7 +2038,7 @@
> DoubleAlign = LongLongAlign = 64;
> DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-"
> - "v128:128:128-a0:0:64-f80:32:32-n8:16:32";
> + "v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32";
> }
> virtual void getTargetDefines(const LangOptions &Opts,
> MacroBuilder &Builder) const {
> @@ -2108,7 +2108,7 @@
> DoubleAlign = LongLongAlign = 64;
> DescriptionString = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-"
> - "a0:0:64-f80:32:32-n8:16:32";
> + "a0:0:64-f80:32:32-n8:16:32-S32";
> }
> virtual void getTargetDefines(const LangOptions &Opts,
> MacroBuilder &Builder) const {
> @@ -2215,7 +2215,7 @@
>
> DescriptionString = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-"
> - "a0:0:64-s0:64:64-f80:128:128-n8:16:32:64";
> + "a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128";
>
> // Use fpret only for long double.
> RealTypeUsesObjCFPRet = (1 << TargetInfo::LongDouble);
> @@ -2382,11 +2382,11 @@
> // 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");
> + "v64:64:64-v128:64:128-a0:0:32-n32-S64");
> } else {
> DescriptionString = ("e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:64:64-f32:32:32-f64:64:64-"
> - "v64:64:64-v128:64:128-a0:0:64-n32");
> + "v64:64:64-v128:64:128-a0:0:64-n32-S64");
> }
>
> // ARM targets default to using the ARM C++ ABI.
> @@ -2424,11 +2424,11 @@
> // 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:64-f32:32:32-f64:32:64-"
> - "v64:32:64-v128:32:128-a0:0:32-n32");
> + "v64:32:64-v128:32:128-a0:0:32-n32-S32");
> } else {
> DescriptionString = ("e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-"
> "i64:32:64-f32:32:32-f64:32:64-"
> - "v64:32:64-v128:32:128-a0:0:32-n32");
> + "v64:32:64-v128:32:128-a0:0:32-n32-S32");
> }
>
> // FIXME: Override "preferred align" for double and long long.
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list