[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