This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: register renaming causes many ARM testsuite failures
>The function build_def_use uses constraints to determine which registers can
>be used for renaming. The relevant bit of code is this:
If I'm reading that right, it just notes which class an operand is in so that
it can later choose another register in the same class. The problem at hand
here is that the actual registers in use, not just their classes, matter in an
ldmsi insn. Am I missing something about the code you quoted?
The "old" regrename pass used to call recog to check that its transformations
were acceptable. I think that would have caught this case, because
load_multiple_operation() will reject registers that are out of order. I
can't see a direct equivalent to that in the current code.
p.