Do assertOperandTypes on each instruction after each pass

Check for broken invariants.
Esse commit está contido em:
Jordan DeLong
2013-04-28 18:40:39 -07:00
commit de Sara Golemon
commit d5bfa422b8
+3
Ver Arquivo
@@ -93,10 +93,13 @@ static void insertAsserts(Trace* trace, IRFactory* factory) {
void optimizeTrace(Trace* trace, TraceBuilder* traceBuilder) {
IRFactory* irFactory = traceBuilder->getIrFactory();
auto finishPass = [&](const char* msg) {
dumpTrace(6, trace, msg);
assert(JIT::checkCfg(trace, *irFactory));
if (debug) forEachTraceInst(trace, assertOperandTypes);
};
if (RuntimeOption::EvalHHIRMemOpt) {
optimizeMemoryAccesses(trace, irFactory);
finishPass("after MemeLim");