[cfe-commits] r141601 - /cfe/trunk/lib/Basic/Targets.cpp
Lang Hames
lhames at apple.com
Mon Oct 10 17:55:18 PDT 2011
Fixed in r141617. Thanks for that Eli!
- Lang.
On Oct 10, 2011, at 5:37 PM, Eli Friedman wrote:
> 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
>>
>
> _______________________________________________
> 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