aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetPassConfig.cpp
diff options
context:
space:
mode:
authorEvgeny Leviant <eleviant@accesssoftek.com>2020-07-23 18:05:11 +0300
committerEvgeny Leviant <eleviant@accesssoftek.com>2020-07-23 18:05:11 +0300
commitdc619f3d7a975c30d4e31ff94a59fe8cbb6e2e8e (patch)
treefede4694665216cc6c1080ce9d3c65927d35b882 /llvm/lib/CodeGen/TargetPassConfig.cpp
parent24e41a34fe2218b53241c9627192b70c56f3059c (diff)
downloadllvm-dc619f3d7a975c30d4e31ff94a59fe8cbb6e2e8e.zip
llvm-dc619f3d7a975c30d4e31ff94a59fe8cbb6e2e8e.tar.gz
llvm-dc619f3d7a975c30d4e31ff94a59fe8cbb6e2e8e.tar.bz2
[CodeGen][TargetPassConfig] Add unreachable-mbb-elimination pass explicitly
Differential revision: https://reviews.llvm.org/D84228
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetPassConfig.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp
index 856e120..6451194 100644
--- a/llvm/lib/CodeGen/TargetPassConfig.cpp
+++ b/llvm/lib/CodeGen/TargetPassConfig.cpp
@@ -1183,6 +1183,11 @@ void TargetPassConfig::addOptimizedRegAlloc() {
// LiveVariables can be removed completely, and LiveIntervals can be directly
// computed. (We still either need to regenerate kill flags after regalloc, or
// preferably fix the scavenger to not depend on them).
+ // FIXME: UnreachableMachineBlockElim is a dependant pass of LiveVariables.
+ // When LiveVariables is removed this has to be removed/moved either.
+ // Explicit addition of UnreachableMachineBlockElim allows stopping before or
+ // after it with -stop-before/-stop-after.
+ addPass(&UnreachableMachineBlockElimID, false);
addPass(&LiveVariablesID, false);
// Edge splitting is smarter with machine loop info.