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

--- Comment #15 from Segher Boessenkool <segher at gcc dot gnu.org> ---
It seems to be that this happens for huge basic blocks, and the combiner
tries to combine pairs of instructions that are far apart.  This is unlikely
to work often, and the cost is quadratic in # insns, the way checking where
a register is used works.

The param to do only 2->1 (and 2->2) combinations should help a lot, make
combine not take longer than the rest of the compiler does.  Does it?

Reply via email to