[RFC] propagating loop dependences from trees to RTL (for SMS)
Paolo Bonzini
paolo.bonzini@lu.unisi.ch
Thu Sep 22 08:29:00 GMT 2005
> 1. Introduce a new BB bit flag and set it for the header BB of a loop that
> has no data dependencies. This approach already works, but only if the old
> loop optimizer (pass_loop_optimize) is disabled (otherwise the bit doesn't
> survive).
Which will happen in 4.2.
> One potential problem is that the loop header BB may change
> between the tree-level and SMS as result of some optimization pass (can
> that really happen?)
I don't know, but I'd not answer with a definite no.
I'm not an expert, but ISTR that SMSable loops are all do-while loops,
and composed of a single basic block If this is true, why not mark the
loop *body* instead of the header?
> 3. Use insn_notes - introduce a new note "NOTE_INSN_NO_DEPS_IN_LOOP" to be
> inserted after the "NOTE_INSN_LOOP_BEG" for relevant loops.
This is a no-no. pass_loop_optimize will disappear in 4.2, and loop
notes will disappear together with it (and with much joy).
Paolo
More information about the Gcc
mailing list