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