[llvm] r190916 - Lift alignment restrictions for load/store folding on VINSERTF128/VEXTRACTF128. Fixes PR17268. [PATCH]
Arnold Schwaighofer
aschwaighofer at apple.com
Thu Nov 21 06:39:32 PST 2013
On Nov 21, 2013, at 7:29 AM, Hal Finkel <hfinkel at anl.gov> wrote:
> ----- Original Message -----
>> From: "Pekka Jääskeläinen" <pekka.jaaskelainen at tut.fi>
>> To: "Craig Topper" <craig.topper at gmail.com>
>> Cc: "Commit Messages and Patches for LLVM" <llvm-commits at cs.uiuc.edu>
>> Sent: Thursday, November 21, 2013 4:15:12 AM
>> Subject: Re: [llvm] r190916 - Lift alignment restrictions for load/store folding on VINSERTF128/VEXTRACTF128. Fixes
>> PR17268. [PATCH]
>>
>> Hi,
>>
>> The attached patch reverts the line that forces the SLPVectorizer
>> always on in opt. Passes "make check" in LLVM 3.4.
>
> Nadav, Do you have an opinion about this? Generally, I'd say to disable it in opt (since we already have a command-line flag in the PMB to enable it). On the other hand, we also seem to force on the loop vectorizer (in a way that matches Clang's defaults) in the line above.
Yes, I added this when I moved the logic at which optimization level to optimize out of the pass manager.
We should do the same for the slp vectorizer. I think it is a good thing that opt -Owhatever tries to match clang -Owhatever as close as possible.
>
> -Hal
>
>>
>> OK to commit?
>>
>> On 11/19/2013 09:51 AM, Nick Lewycky wrote:
>>> On 17 September 2013 20:55, Craig Topper <craig.topper at gmail.com
>>> <mailto:craig.topper at gmail.com>> wrote:
>>>
>>> Author: ctopper
>>> Date: Tue Sep 17 22:55:53 2013
>>> New Revision: 190916
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=190916&view=rev
>>> Log:
>>> Lift alignment restrictions for load/store folding on
>>> VINSERTF128/VEXTRACTF128. Fixes PR17268.
>>>
>>>
>>> Modified: llvm/trunk/tools/opt/opt.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/opt/opt.cpp?rev=190916&r1=190915&r2=190916&view=diff
>>> ==============================================================================
>>> --- llvm/trunk/tools/opt/opt.cpp (original)
>>> +++ llvm/trunk/tools/opt/opt.cpp Tue Sep 17 22:55:53 2013
>>> @@ -462,6 +462,7 @@ static void AddOptimizationPasses(PassMa
>>> DisableLoopUnrolling :
>>> OptLevel == 0;
>>>
>>> Builder.LoopVectorize = OptLevel > 1 && SizeLevel < 2;
>>> + Builder.SLPVectorize = true;
>>>
>>>
>>> This doesn't match the commit log. Was this intentional?
>>>
>>> Nick
>>
>> --
>> Pekka
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
> --
> Hal Finkel
> Assistant Computational Scientist
> Leadership Computing Facility
> Argonne National Laboratory
>
> _______________________________________________
> 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