[Patch] Tuning the strategy in SLP vectoriezer

Yi Jiang yjiang at apple.com
Tue Sep 3 10:19:58 PDT 2013


Hi Arnold,

Thank you. It will be included in the patch. 
On Sep 3, 2013, at 8:13 AM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:

> Yi,
> 
> we can still test the logic for the case where the size of a type is smaller than its alignment by changing the data layout string and using double instead of x86_fp80. I have attached a test case.
> 
> target datalayout = “…f64:64:64…”
> becomes
> target datalayout = “...f64:128:128…”
> 
> 
> 
> 
> 
> Thanks,
> Arnold
> 
> <overalignedtype.ll>
> 
> 
> On Sep 2, 2013, at 6:34 PM, Nadav Rotem <nrotem at apple.com> wrote:
> 
>> Hi Yi, 
>> 
>> Thanks for working on this.  Please don’t commit the whitespace changes. Everything else LGTM. 
>> 
>> Thanks,
>> Nadav
>> 
>> 
>> On Sep 2, 2013, at 10:58 AM, yijiang <yjiang at apple.com> wrote:
>> 
>>> Hi Nadav,
>>> 
>>> Thank you for the comments. I have  removed the flag and adjust the test cases. 
>>> <slpnew.patch>
>>> 
>>> On Aug 30, 2013, at 9:45 PM, Nadav Rotem <nrotem at apple.com> wrote:
>>> 
>>>> Hi Yi, 
>>>> 
>>>> Please don’t add the new flag “-slp-vec-reg-size”.  This is not something that we want to control via flags. You can test the new feature just by testing <4 x float> and <5 x float> sequences. 
>>>> 
>>>> Thanks,
>>>> Nadav
>>>> 
>>>> On Aug 30, 2013, at 4:30 PM, yijiang <yjiang at apple.com> wrote:
>>>> 
>>>>> Thank you guys! Here is the new patch: 
>>>>> <slp.patch>
>>>>> 
>>>>> On Aug 30, 2013, at 3:37 PM, Chandler Carruth <chandlerc at google.com> wrote:
>>>>> 
>>>>>> Try out clang-format to automatically get some (most?) of these formatting fixes? It even has a tool to run it over a patch file.
>>>>>> 
>>>>>> 
>>>>>> On Fri, Aug 30, 2013 at 3:28 PM, Yi Jiang <yjiang at apple.com> wrote:
>>>>>> Thank you for the comments. Sorry I somehow lost the version with changed format. I will do it again.
>>>>>> Actually now the rgb_phi.ll is not enabled, so let me merge five roots_pill.ll and phi.ll
>>>>>> 
>>>>>> On Aug 30, 2013, at 3:26 PM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
>>>>>> 
>>>>>>> Also, please remove the brackets here:
>>>>>>> 
>>>>>>> +    if (i + VF > e) {
>>>>>>> +        OpsWidth = e - i;
>>>>>>> +    }
>>>>>>> +    else {
>>>>>>> +        OpsWidth = VF;
>>>>>>> +    }
>>>>>>> 
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Arnold
>>>>>>> 
>>>>>>> On Aug 30, 2013, at 5:21 PM, Arnold Schwaighofer <aschwaighofer at apple.com> wrote:
>>>>>>> 
>>>>>>>> Hi Yi,
>>>>>>>> 
>>>>>>>> Code looks good to me. The patch has some whitespace errors. Please fix these. Also “return Changed” is not intended properly.
>>>>>>>> 
>>>>>>>> Can you merge “rgb_phi.ll” “fiveroots_phi.ll” and “phi.ll” into one file?
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Arnold
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Aug 30, 2013, at 3:14 PM, Yi Jiang <yjiang at apple.com> wrote:
>>>>>>>> 
>>>>>>>>> Hi,
>>>>>>>>> 
>>>>>>>>> In this patch we are trying to do two things:
>>>>>>>>> 1) If the width of vectorization list candidate is bigger than vector reg width, we will break it down to fit the vector reg.
>>>>>>>>> 2) We do not vectorize the width which is not power of two.
>>>>>>>>> 
>>>>>>>>> Here is the performance result of the change and we use ref input. Any comments and suggestions are appreciated.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Performance Regressions - Execution Time    Δ       Previous        Current σ       Δ (B)   σ (B)
>>>>>>>>> External/SPEC/CINT95/134_perl/134_perl      2.76%   2.9533  3.0348  0.0024  0.00%   0.0024
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Performance Improvements - Execution Time   Δ       Previous        Current σ       Δ (B)   σ (B)
>>>>>>>>> External/SPEC/CFP2000/177_mesa/177_mesa     -6.97%  21.1910 19.7130 0.0223  0.00%   0.0223
>>>>>>>>> SingleSource/Benchmarks/BenchmarkGame/partialsums   -5.19%  0.2969  0.2815  -       0.00%   -
>>>>>>>>> External/SPEC/CFP2000/188_ammp/188_ammp     -1.54%  88.2623 86.9050 0.0823  0.00%   0.0823
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> <slp.patch>
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> llvm-commits mailing list
>>>>>>>>> llvm-commits at cs.uiuc.edu
>>>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> llvm-commits mailing list
>>>>>>>> llvm-commits at cs.uiuc.edu
>>>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> llvm-commits mailing list
>>>>>> llvm-commits at cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> llvm-commits mailing list
>>>>> llvm-commits at cs.uiuc.edu
>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>> 
>>> 
>> 
> 





More information about the llvm-commits mailing list