[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