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