private void countPostponable() {
        isChanged = true;
        boolean firstTime = true;
        while (isChanged) {
            //System.out.println("!!!AGAIN!!!");
            if (firstTime)
                firstTime = false;
            else
                isChanged = false;
            for (BaseBlock b : cfg.dfs())
                markBB.put(b, false);
            for (Statement s : expectedOut.keySet()) {
                //postponableIn.put(s, new LinkedList<Statement>());
                //postponableOut.put(s, new LinkedList<Statement>());
            }
            recCountPostponable(first, null);
        }
    }