for (const auto &m : predProgramLists) {
const u32 &pred_state = m.first;
+ assert(!m.second.empty());
auto subprog = flattenProgram(m.second);
// Check our pred state.
DEBUG_PRINTF("subprogram %zu has offset %u\n", jump_table.size(),
curr_offset);
jump_table.push_back(curr_offset);
+ assert(!e.second.empty());
auto subprog = flattenProgram(e.second);
if (e.first != keys.back()) {
assert(contains(bc.roleStateIndices, u));
u32 pred_state = bc.roleStateIndices.at(u);
auto program = makeProgram(build, bc, e);
+ if (program.empty()) {
+ continue;
+ }
predProgramLists[pred_state].push_back(program);
}
u32 predStateIdx = bc.roleStateIndices.at(u);
auto program = makeEodAnchorProgram(build, bc, e, multiple_preds);
+ if (program.empty()) {
+ continue;
+ }
predProgramLists[predStateIdx].push_back(program);
}
}