How to recognize registers after reload ?.

Segher Boessenkool segher@kernel.crashing.org
Fri Oct 23 10:02:50 GMT 2020


Hi,

On Fri, Oct 23, 2020 at 09:28:49AM +0200, Henri Cloetens wrote:
> R30 = 1  // move immediate to register
> [R20] = R30 // move to *a
> return
> 
> Now, to get this, there is not one movsi - pattern, because if there is 
> only one,
> combine will combine both moves into something like
> [R20] = 1
> and this does not exist, and combine crashes.

You keep saying this.  The combine pass should *not* crash, and you
haven't shown any evidence it did.  It will attempt to do this
combination, and your backend will either or not say that is an existing
insn; in neither case will combine crash.

Some later pass might well not like what you said is a valid insn.  Just
say *that* if that is what you mean!



Segher


More information about the Gcc-help mailing list