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

--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Kewen Lin from comment #1)
> Thanks for filing this!
> 
> For the given example, previously split1 splits ordered test into unordered
> test + xor, late-combine pass recombines them into ordered test then split2
> fails to create a pseduo after RA. There seems two alternatives, adding
> can_create_pseudo_p() to define_insn condition to stop late-combine after RA
> to re-combine it, or appending a match_scratch to get temp register for rtx
> tmp after RA. IMHO we don't expect to see ordered test after RA any more, so
> the former is preferred? but people can argue that the latter is more
> flexible.
> 
> Segher originated these define_insn_and_split, looking forward to his
> opinion.
> 
> Need more checkings for the other failures.

Or, the obvious thing: if something as basic as a trivial ten-year old cleanup
commit cause "trouble" with some new development, well, then maybe the problem
is with that new development?

Late combine *by definition* has to test for can_create_new_pseudos itself.  So
it should.

Reply via email to