summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/TargetPassConfig.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2017-05-31 18:41:23 +0000
committerMatthias Braun <matze@braunis.de>2017-05-31 18:41:23 +0000
commitd6a36ae282ba22fbe2cd73ec40b660fb6c480c6b (patch)
tree92c7236b4494751bc1691a4a86ce798a8992dff0 /llvm/lib/CodeGen/TargetPassConfig.cpp
parent53b34c844339c5c43cfab22d2f7160ad40f9512c (diff)
downloadbcm5719-llvm-d6a36ae282ba22fbe2cd73ec40b660fb6c480c6b.tar.gz
bcm5719-llvm-d6a36ae282ba22fbe2cd73ec40b660fb6c480c6b.zip
TargetMachine: Indicate whether machine verifier passes.
This adds a callback to the LLVMTargetMachine that lets target indicate that they do not pass the machine verifier checks in all cases yet. This is intended to be a temporary measure while the targets are fixed allowing us to enable the machine verifier by default with EXPENSIVE_CHECKS enabled! Differential Revision: https://reviews.llvm.org/D33696 llvm-svn: 304320
Diffstat (limited to 'llvm/lib/CodeGen/TargetPassConfig.cpp')
-rw-r--r--llvm/lib/CodeGen/TargetPassConfig.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp
index e1ea02b09b5..72d5e995ac2 100644
--- a/llvm/lib/CodeGen/TargetPassConfig.cpp
+++ b/llvm/lib/CodeGen/TargetPassConfig.cpp
@@ -430,7 +430,12 @@ void TargetPassConfig::addPrintPass(const std::string &Banner) {
}
void TargetPassConfig::addVerifyPass(const std::string &Banner) {
- if (VerifyMachineCode)
+ bool Verify = VerifyMachineCode;
+#ifdef EXPENSIVE_CHECKS
+ if (VerifyMachineCode == cl::BOU_UNSET)
+ Verify = TM->isMachineVerifierClean();
+#endif
+ if (Verify)
PM->add(createMachineVerifierPass(Banner));
}
OpenPOWER on IntegriCloud