protectedNops.clear();
// assertions referring to a nop statement must have their target updated to the nop's predecessor,
// or in case there are multiple predecessors, the nop must not be removed
for (Statement s : m.getStatements()) {
if (s instanceof AssertStatement) {
AssertStatement a = (AssertStatement)s;
Statement target = a.targetStatement;
while (target instanceof Nop && target.getPreds().size() == 1) {
target = target.getPreds().iterator().next();
a.targetStatement = target;
}