[Patch] Tuning the strategy in SLP vectoriezer

Arnold Schwaighofer aschwaighofer at apple.com
Tue Sep 3 08:13:25 PDT 2013


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: overalignedtype.ll
Type: application/octet-stream
Size: 1624 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130903/0dc88120/attachment.obj>
-------------- next part --------------



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