mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[PM] Add GVNSink to the pipeline.
With this, the two pipelines should be in sync again (modulo LoopUnswitch, but Chandler is actively working on that). Differential Revision: https://reviews.llvm.org/D33810 llvm-svn: 304671
This commit is contained in:
parent
0fd127b2fb
commit
667c5c6a07
@ -164,6 +164,10 @@ 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)"));
|
||||
|
||||
static cl::opt<bool> EnableGVNSink(
|
||||
"enable-npm-gvn-sink", cl::init(false), cl::Hidden,
|
||||
cl::desc("Enable the GVN hoisting pass for the new PM (default = off)"));
|
||||
|
||||
static Regex DefaultAliasRegex(
|
||||
"^(default|thinlto-pre-link|thinlto|lto-pre-link|lto)<(O[0123sz])>$");
|
||||
|
||||
@ -314,6 +318,12 @@ PassBuilder::buildFunctionSimplificationPipeline(OptimizationLevel Level,
|
||||
if (EnableGVNHoist)
|
||||
FPM.addPass(GVNHoistPass());
|
||||
|
||||
// Global value numbering based sinking.
|
||||
if (EnableGVNSink) {
|
||||
FPM.addPass(GVNSinkPass());
|
||||
FPM.addPass(SimplifyCFGPass());
|
||||
}
|
||||
|
||||
// Speculative execution if the target has divergent branches; otherwise nop.
|
||||
FPM.addPass(SpeculativeExecutionPass());
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user