This is the mail archive of the gcc-patches@gcc.gnu.org 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: [RFC][PATCH] Preferred rename register in regrename pass


On 11/10/2015 11:33 PM, Robert Suchanek wrote:

The reason behind the failures is that the terminated_this_insn had
a different number of consecutive registers (and mode) to the input
operand in a move currently being considered for tying. In the fix,
I allow tying only if there is matching number of NREGS.

Bernd, do you think that this check would be sufficient and safe?
I'm not sure what would be better: check the mode, nregs plus perhaps
consider tying only if nregs == 1.

Hmm, but shouldn't the regno still be the same? Or is this a case where we have a multi-word chain like ax/dx and then something like a "set bx, dx" involving only a part of it, but the entire chain dies?

I guess this is ok to stop the failures for now, but you may want to move the check to the point where we set terminated_this_insn. Also, as I pointed out earlier, clearing terminated_this_insn should probably happen earlier.


Bernd


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