summaryrefslogtreecommitdiff
path: root/src/passes/ReReloop.cpp
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2019-04-16 10:00:19 -0700
committerGitHub <noreply@github.com>2019-04-16 10:00:19 -0700
commit324238cc44e51c65637d29a938c435248d384154 (patch)
treefcd7a35442c720385ff5746a3de83a7123e04be8 /src/passes/ReReloop.cpp
parentcb2d63586c08a3dd194d2b733ceb3f5051c081f8 (diff)
downloadbinaryen-324238cc44e51c65637d29a938c435248d384154.tar.gz
binaryen-324238cc44e51c65637d29a938c435248d384154.tar.bz2
binaryen-324238cc44e51c65637d29a938c435248d384154.zip
Verify flat IR where it is expected, and give a nice error (#2009)
Fixes #2007 #2008
Diffstat (limited to 'src/passes/ReReloop.cpp')
-rw-r--r--src/passes/ReReloop.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/passes/ReReloop.cpp b/src/passes/ReReloop.cpp
index aae0ea262..760bab2b5 100644
--- a/src/passes/ReReloop.cpp
+++ b/src/passes/ReReloop.cpp
@@ -28,6 +28,7 @@
#include "wasm-traversal.h"
#include "pass.h"
#include "cfg/Relooper.h"
+#include "ir/flat.h"
#include "ir/utils.h"
#ifdef RERELOOP_DEBUG
@@ -297,6 +298,8 @@ struct ReReloop final : public Pass {
}
void runOnFunction(PassRunner* runner, Module* module, Function* function) override {
+ Flat::verifyFlatness(function);
+
// since control flow is flattened, this is pretty simple
// first, traverse the function body. note how we don't need to traverse
// into expressions, as we know they contain no control flow