On 13/12/2018 23:49, Jeff Law wrote:
OK. But be aware we may have to revisit and look more closely what what
you're doing in your port if we stumble over more problems with reload
changing the structure of your insns and causing problems in the process.
Thanks.
What's novel about this, I think, is that we have two candidates for an
add instruction, and each clobbers a different condition register. I had
previously handled this by clobbering both, but that was unsatisfactory,
so I've changed it to use the match_scratch trick I found used in other
ports.
Using a match_scratch is clearly common practice, but there does appear
to have been an assumption in LRA that this wouldn't occur within
patterns that can be transformed by register elimination. Presumably
those other ports using match_scratch are not using it for some key
patterns, or do not use register elimination.
Anyway, this patch should not affect any use case that did not already
have UB, so I'll get it committed shortly.
Andrew