This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: More /u conflicts
- To: rth at redhat dot com
- Subject: Re: More /u conflicts
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Wed, 14 Feb 01 19:17:58 EST
- Cc: gcc at gcc dot gnu dot org
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.