[llvm] r303586 - [NewPM] Add a temporary cl::opt() to test NewGVN.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon May 22 16:44:38 PDT 2017
What does "nmp" stand for in that command line? Or was it supposed to be
"npm"?
~Craig
On Mon, May 22, 2017 at 4:41 PM, Davide Italiano via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: davide
> Date: Mon May 22 18:41:40 2017
> New Revision: 303586
>
> URL: http://llvm.org/viewvc/llvm-project?rev=303586&view=rev
> Log:
> [NewPM] Add a temporary cl::opt() to test NewGVN.
>
> Modified:
> llvm/trunk/lib/Passes/PassBuilder.cpp
>
> Modified: llvm/trunk/lib/Passes/PassBuilder.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Passes/
> PassBuilder.cpp?rev=303586&r1=303585&r2=303586&view=diff
> ============================================================
> ==================
> --- llvm/trunk/lib/Passes/PassBuilder.cpp (original)
> +++ llvm/trunk/lib/Passes/PassBuilder.cpp Mon May 22 18:41:40 2017
> @@ -155,6 +155,11 @@ static cl::opt<bool>
> cl::Hidden, cl::ZeroOrMore,
> cl::desc("Run Partial inlinining pass"));
>
> +static cl::opt<bool>
> + RunNewGVN("enable-nmp-newgvn", cl::init(false),
> + cl::Hidden, cl::ZeroOrMore,
> + cl::desc("Run NewGVN instead of GVN"));
> +
> static cl::opt<bool> EnableGVNHoist(
> "enable-npm-gvn-hoist", cl::init(false), cl::Hidden,
> cl::desc("Enable the GVN hoisting pass for the new PM (default =
> off)"));
> @@ -357,7 +362,10 @@ PassBuilder::buildFunctionSimplification
> if (Level != O1) {
> // These passes add substantial compile time so skip them at O1.
> FPM.addPass(MergedLoadStoreMotionPass());
> - FPM.addPass(GVN());
> + if (RunNewGVN)
> + FPM.addPass(NewGVNPass());
> + else
> + FPM.addPass(GVN());
> }
>
> // Specially optimize memory movement as it doesn't look like dataflow
> in SSA.
> @@ -774,7 +782,10 @@ ModulePassManager PassBuilder::buildLTOD
> // FIXME: once we fix LoopPass Manager, add LICM here.
> // FIXME: once we provide support for enabling MLSM, add it here.
> // FIXME: once we provide support for enabling NewGVN, add it here.
> - MainFPM.addPass(GVN());
> + if (RunNewGVN)
> + MainFPM.addPass(NewGVNPass());
> + else
> + MainFPM.addPass(GVN());
>
> // Remove dead memcpy()'s.
> MainFPM.addPass(MemCpyOptPass());
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170522/8359d7d0/attachment.html>
More information about the llvm-commits
mailing list