aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineVerifier.cpp
diff options
context:
space:
mode:
authorYuanfang Chen <yuanfang.chen@sony.com>2020-08-13 12:52:35 -0700
committerYuanfang Chen <yuanfang.chen@sony.com>2020-08-13 16:13:01 -0700
commita5ed20b549782bf284162c712af4673f7cd75222 (patch)
treecc9110bd8494ef9cfa9cbaa45ea304bc3356a668 /llvm/lib/CodeGen/MachineVerifier.cpp
parent4cb016cd2d8467c572b2e5c5d34f376ee79e4ac1 (diff)
downloadllvm-a5ed20b549782bf284162c712af4673f7cd75222.zip
llvm-a5ed20b549782bf284162c712af4673f7cd75222.tar.gz
llvm-a5ed20b549782bf284162c712af4673f7cd75222.tar.bz2
[NewPM][CodeGen] Add machine code verification callback
D83608 need this. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D85916
Diffstat (limited to 'llvm/lib/CodeGen/MachineVerifier.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineVerifier.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/MachineVerifier.cpp b/llvm/lib/CodeGen/MachineVerifier.cpp
index 6fbf37e..26c2914 100644
--- a/llvm/lib/CodeGen/MachineVerifier.cpp
+++ b/llvm/lib/CodeGen/MachineVerifier.cpp
@@ -304,6 +304,19 @@ FunctionPass *llvm::createMachineVerifierPass(const std::string &Banner) {
return new MachineVerifierPass(Banner);
}
+void llvm::verifyMachineFunction(MachineFunctionAnalysisManager *,
+ const std::string &Banner,
+ const MachineFunction &MF) {
+ // TODO: Use MFAM after porting below analyses.
+ // LiveVariables *LiveVars;
+ // LiveIntervals *LiveInts;
+ // LiveStacks *LiveStks;
+ // SlotIndexes *Indexes;
+ unsigned FoundErrors = MachineVerifier(nullptr, Banner.c_str()).verify(MF);
+ if (FoundErrors)
+ report_fatal_error("Found " + Twine(FoundErrors) + " machine code errors.");
+}
+
bool MachineFunction::verify(Pass *p, const char *Banner, bool AbortOnErrors)
const {
MachineFunction &MF = const_cast<MachineFunction&>(*this);