On July 10, 2019 2:11:17 PM GMT+02:00, Michael Matz <m...@suse.de> wrote: >Hi, > >On Tue, 9 Jul 2019, Richard Biener wrote: > >> >The basic block index is not a DFS index, so no, that's not a test >for >> >backedge. >> >> I think in CFG RTL mode the BB index designates the order of the BBs >in >> the object file? So this is a way to identify backwards jumps? > >Even if it means a backwards jump (and that's not always the case, the >insns are emitted by following the NEXT_INSN links, without a CFG, and >that all happens after machine-dependend reorg, and going out of cfg >layout might link insn together even from high index BBs to low index >BBs >(e.g. because of fall-through)), that's still not a backedge in the >general case. If a heuristic is enough here it might be okay, though. > >OTOH, as here a CFG still exists, why not simply rely on a proper DFS >marking backedges?
Because proper backedges is not what we want here, see honzas example. So I'm second-guessing why we have different LOOP_ALIGN and when it makes sense to apply. Richard. > >Ciao, >Michael.