This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 01/10] Fix LRA bug

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.


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]