summaryrefslogtreecommitdiff
path: root/willow/include/willow/IR/Verifier.h
diff options
context:
space:
mode:
Diffstat (limited to 'willow/include/willow/IR/Verifier.h')
-rw-r--r--willow/include/willow/IR/Verifier.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/willow/include/willow/IR/Verifier.h b/willow/include/willow/IR/Verifier.h
new file mode 100644
index 0000000..b5df294
--- /dev/null
+++ b/willow/include/willow/IR/Verifier.h
@@ -0,0 +1,27 @@
+#ifndef WILLOW_INCLUDE_IR_VERIFIER_H
+#define WILLOW_INCLUDE_IR_VERIFIER_H
+
+/// \file These are generic helpers for verification of IR, that can be used to
+/// check the validity of a transformation.
+
+#include <willow/Util/LogicalResult.h>
+
+namespace willow {
+
+class Module;
+class DiagnosticEngine;
+class Function;
+class BasicBlock;
+class Instruction;
+class BinaryInst;
+
+LogicalResult verifyModule(const Module &, DiagnosticEngine &);
+LogicalResult verifyFunction(const Function &, DiagnosticEngine &);
+LogicalResult verifyBasicBlock(const BasicBlock &, DiagnosticEngine &);
+LogicalResult verifyInst(const Instruction &, DiagnosticEngine &);
+
+LogicalResult verifyBinaryInst(const Instruction &, DiagnosticEngine &);
+
+} // namespace willow
+
+#endif // WILLOW_INCLUDE_IR_VERIFIER_H