On 1/19/2026 6:26 AM, Georg-Johann Lay wrote:
It seems a bit strange that insn combine would interfere with
RA. Some problems are when insn combine (or other passes) are
propagating hard regs into operands, but they don't match constraints
and RA has to kick them out again, perhaps resulting in sub-optimal code.
But in no case I saw RA ICEing.
With hard registers or with pseudos that have to be allocated to a
specific hard register, combine can easily set up scenarios that are
painfully difficult to resolve in the allocators. It's been like this
for decades.
If you follow the history of SMALL_REGISTER_CLASSES and
CLASS_LIKELY_SPILLED_P a notable amount of the issues those deal with
stem from combine's behavior.
Jeff