This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Basic block infrastructure after dbr pass


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]