[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