Am 17.03.2008 um 17:45 schrieb Jim Wilson:

Boris Boesler wrote:
But some basic blocks seem to point to insns which are not in the insn-list. I had a short look at dbr_schedule() in reorg.c and the basic blocks are not updated. Are they evaluated in a later pass?

No. See pass_free_cfg, which is the third pass before pass_delay_slots.

The following code generators use FOR_EACH_BB[_REVERSE] in the target machine dependent reorg pass:
        - bfin
        - frv
        - ia64
        - mt
        - s390
Are these invalid code generators then? Or are we talking about different things?

 I have to check basic block boundaries:

  FOR_EACH_BB(bb) {
    edge e;
    edge_iterator ei;
    FOR_EACH_EDGE(e, ei, bb -> preds) {
        basic_block prev_bb = e -> src;
        check_boundary(bb, prev_bb);
    }
  }

If this basic block infrastructure is not valid anymore is the pure insn-list the only data structure I can use?

Boris

Reply via email to