https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117922

--- Comment #24 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Paolo Bonzini from comment #22)
> Yes, I suggested the MD problem because it did solve gambit performance
> issues with fwprop for good, but RTL-SSA is certainly applicable.
> 
> Also, once all RD uses are converted to RTL-SSA it should really be removed
> from df.c as a bad idea (and probably also MD since it's unused *sheds a
> tear*).

Btw, all of UD/DU_CHAINS should be converted.

For the testcase at hand all 61152 blocks are in a single big cycle, so
optimizing the RD dataflow iteration looks difficult, it's just very
cache unfriendly.

df_worklist_dataflow_doublequeue: n_basic_blocks 61152 n_edges 48183769 count
378895 (  6.2)

it's the no longer factored computed goto that blows up the number of edges
and thus the computational complexity here.  See the bug about bb-reorder
where we'd suggested to keep the actual CFG representation factored but
have the computed goto instruction duplicated.

Reply via email to