state of 3.2.1-pre: how far from release?
Ulrich Weigand
weigand@immd1.informatik.uni-erlangen.de
Tue Nov 5 15:25:00 GMT 2002
David Edelsohn wrote:
> On the GCC 3.2 branch, reload_as_needed() is entered with the
>instruction still containing pseudos. eliminate_regs_in_insn()
>substitutes a hard reg for the first use of the pseudo, but leaves the
>others untouched. eliminate_regs_in_insn() recognizes the instruction and
>recog_data.n_operands is 3, so it only loops over three locations.
We had the a similar problem on s390. As I recall from the analysis
done at the time, this appeared to be a fundamental deficiency
in reload in that it simply would not perform replacements within
a match_parallel correctly. I'm not sure how to fix this.
I've added a workaround to just disable the generation of any
load_multiple pattern that might need such replacements (i.e.
if an eliminable register occurs as part of the address).
Bye,
Ulrich
--
Dr. Ulrich Weigand
weigand@informatik.uni-erlangen.de
More information about the Gcc
mailing list