[PATCH] D22639: Add flag to PassManagerBuilder to disable GVN Hoist Pass.

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 21 11:50:46 PDT 2016


1. You should add a command line flag
2. Can you file bugs, so sebastian can look at them?


On Thu, Jul 21, 2016 at 11:35 AM, Alina Sbirlea <asbirlea at google.com> wrote:

> asbirlea created this revision.
> asbirlea added reviewers: llvm-commits, chandlerc, spop, dberlin.
> Herald added a subscriber: mehdi_amini.
>
> Adding a flag to diable GVN Hoisting.
> Note: The GVN Hoist Pass causes some Halide tests to hang. Halide will
> disable the pass while investigating.
>
> https://reviews.llvm.org/D22639
>
> Files:
>   include/llvm/Transforms/IPO/PassManagerBuilder.h
>   lib/Transforms/IPO/PassManagerBuilder.cpp
>
> Index: lib/Transforms/IPO/PassManagerBuilder.cpp
> ===================================================================
> --- lib/Transforms/IPO/PassManagerBuilder.cpp
> +++ lib/Transforms/IPO/PassManagerBuilder.cpp
> @@ -140,6 +140,7 @@
>      LibraryInfo = nullptr;
>      Inliner = nullptr;
>      ModuleSummary = nullptr;
> +    DisableGVNHoist = false;
>      DisableUnitAtATime = false;
>      DisableUnrollLoops = false;
>      BBVectorize = RunBBVectorization;
> @@ -232,7 +233,8 @@
>    FPM.add(createCFGSimplificationPass());
>    FPM.add(createSROAPass());
>    FPM.add(createEarlyCSEPass());
> -  FPM.add(createGVNHoistPass());
> +  if(!DisableGVNHoist)
> +    FPM.add(createGVNHoistPass());
>    FPM.add(createLowerExpectIntrinsicPass());
>  }
>
> Index: include/llvm/Transforms/IPO/PassManagerBuilder.h
> ===================================================================
> --- include/llvm/Transforms/IPO/PassManagerBuilder.h
> +++ include/llvm/Transforms/IPO/PassManagerBuilder.h
> @@ -122,6 +122,7 @@
>    /// The module summary index to use for function importing.
>    const ModuleSummaryIndex *ModuleSummary;
>
> +  bool DisableGVNHoist;
>    bool DisableTailCalls;
>    bool DisableUnitAtATime;
>    bool DisableUnrollLoops;
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160721/d8a435c7/attachment.html>


More information about the llvm-commits mailing list