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.

Reply via email to