More /u conflicts
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Wed Feb 14 16:16:00 GMT 2001
I think you've just uncovered a bug in regmove. Even if
the pseudo _did_ get a hard register, we have invalid rtl
coming out of regmove: /u on a reg means it is assigned
not more than once.
The reg isn't /u: the equivalent memory in the stack slot is.
I agree this is odd and I should go back and see why that happens.
But my point is that I'm not sure I agree with the general rule that /u not
be assigned more than once. It's getting costly. All args are readonly
in Ada, so this means that regmove can't operate on args. This is yet
another cost of that rule.
More information about the Gcc
mailing list