RFA: fix sh64-elf build failure on mainline
Ian Lance Taylor
ian@airs.com
Thu Nov 24 00:13:00 GMT 2005
Joern RENNECKE <joern.rennecke@st.com> writes:
> 2005-11-23 J"orn Rennecke <joern.rennecke@st.com>
>
> * caller-save.c: (this_insn_sets): Move into:
> (save_call_clobbered_regs).
> (mark_set_regs): Get this_insn_sets from data.
>
> (save_call_clobbered_regs): Take sets of the return value by
> sibcalls into account.
> - note_stores (PATTERN (insn), mark_set_regs, NULL);
> + note_stores (PATTERN (insn), mark_set_regs, this_insn_sets);
You can't do that safely, because HARD_REG_SET is not an array if
FIRST_PSEUDO_REGISTER <= HOST_BITS_PER_WIDEST_FAST_INT, which can be
true for several targets. I think the only reliable way to pass down
this_insn_sets is to put it in a struct with one field and pass the
address of the struct.
If you fix that, the patch is OK.
Thanks.
Ian
More information about the Gcc-patches
mailing list