[PATCH] D22639: Add flag to PassManagerBuilder to disable GVN Hoist Pass.
Alina Sbirlea via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 21 11:35:36 PDT 2016
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 --------------
A non-text attachment was scrubbed...
Name: D22639.64934.patch
Type: text/x-patch
Size: 1184 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160721/a3fa2f87/attachment.bin>
More information about the llvm-commits
mailing list