[llvm-commits] [llvm] r166937 - in /llvm/trunk: docs/ReleaseNotes.html include/llvm/Transforms/IPO/PassManagerBuilder.h lib/Transforms/IPO/PassManagerBuilder.cpp

Hal Finkel hfinkel at anl.gov
Mon Oct 29 10:13:22 PDT 2012


----- Original Message -----
> From: "Nadav Rotem" <nrotem at apple.com>
> To: llvm-commits at cs.uiuc.edu
> Sent: Monday, October 29, 2012 11:36:25 AM
> Subject: [llvm-commits] [llvm] r166937 - in /llvm/trunk: docs/ReleaseNotes.html
> include/llvm/Transforms/IPO/PassManagerBuilder.h lib/Transforms/IPO/PassManagerBuilder.cpp
> 
> Author: nadav
> Date: Mon Oct 29 11:36:25 2012
> New Revision: 166937
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=166937&view=rev
> Log:
> Change the PassManagerBuilder (used by -O3) loop vectorizer flag from
> -vectorize to -vectorize-loops because we dont want to share the
> same flag as the bb-vectorizer.

I'm okay with this for now, although I'd like to merge them back together at some point. However, we have a -vectorize builder, are you going to add a -vectorize-loops builder as well?

 -Hal

> 
> Modified:
>     llvm/trunk/docs/ReleaseNotes.html
>     llvm/trunk/include/llvm/Transforms/IPO/PassManagerBuilder.h
>     llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
> 
> Modified: llvm/trunk/docs/ReleaseNotes.html
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/ReleaseNotes.html?rev=166937&r1=166936&r2=166937&view=diff
> ==============================================================================
> --- llvm/trunk/docs/ReleaseNotes.html (original)
> +++ llvm/trunk/docs/ReleaseNotes.html Mon Oct 29 11:36:25 2012
> @@ -468,9 +468,10 @@
>  
>  <p> Loop Vectorizer - We've added a loop vectorizer and we are now
>  able to
>      vectorize small loops. The loop vectorizer is disabled by
>      default and
> -    can be enabled using the <b>-mllvm -vectorize</b> flag.
> +    can be enabled using the <b>-mllvm -vectorize-loops</b> flag.
>      The SIMD vector width can be specified using the flag
>      <b>-mllvm -force-vector-width=4</b>.
> +    The defaule value is <b>0</b> which means auto-select.
>      <br/>
>      We can now vectorize this code:
>  
> 
> Modified: llvm/trunk/include/llvm/Transforms/IPO/PassManagerBuilder.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/IPO/PassManagerBuilder.h?rev=166937&r1=166936&r2=166937&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Transforms/IPO/PassManagerBuilder.h
> (original)
> +++ llvm/trunk/include/llvm/Transforms/IPO/PassManagerBuilder.h Mon
> Oct 29 11:36:25 2012
> @@ -103,7 +103,8 @@
>    bool DisableSimplifyLibCalls;
>    bool DisableUnitAtATime;
>    bool DisableUnrollLoops;
> -  bool Vectorize;
> +  bool BBVectorize;
> +  bool LoopVectorize;
>  
>  private:
>    /// ExtensionList - This is list of all of the extensions that are
>    registered.
> 
> Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=166937&r1=166936&r2=166937&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Mon Oct 29
> 11:36:25 2012
> @@ -33,7 +33,10 @@
>  using namespace llvm;
>  
>  static cl::opt<bool>
> -RunVectorization("vectorize", cl::desc("Run vectorization passes"));
> +RunLoopVectorization("vectorize-loops", cl::desc("Run the Loop
> vectorization passes"));
> +
> +static cl::opt<bool>
> +RunBBVectorization("vectorize", cl::desc("Run the BB vectorization
> passes"));
>  
>  static cl::opt<bool>
>  UseGVNAfterVectorization("use-gvn-after-vectorization",
> @@ -52,7 +55,8 @@
>      DisableSimplifyLibCalls = false;
>      DisableUnitAtATime = false;
>      DisableUnrollLoops = false;
> -    Vectorize = RunVectorization;
> +    BBVectorize = RunBBVectorization;
> +    LoopVectorize = RunLoopVectorization;
>  }
>  
>  PassManagerBuilder::~PassManagerBuilder() {
> @@ -185,7 +189,7 @@
>    MPM.add(createLoopIdiomPass());             // Recognize idioms
>    like memset.
>    MPM.add(createLoopDeletionPass());          // Delete dead loops
>  
> -  if (Vectorize) {
> +  if (LoopVectorize) {
>      MPM.add(createLoopVectorizePass());
>      MPM.add(createLICMPass());
>    }
> @@ -208,7 +212,7 @@
>  
>    addExtensionsToPM(EP_ScalarOptimizerLate, MPM);
>  
> -  if (Vectorize) {
> +  if (BBVectorize) {
>      MPM.add(createBBVectorizePass());
>      MPM.add(createInstructionCombiningPass());
>      if (OptLevel > 1 && UseGVNAfterVectorization)
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-commits mailing list