This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
- As mentioned in http://gcc.gnu.org/ml/gcc/2005-01/msg00911.html there is a code path in find_reloads that sets rld[].inc to a nonzero value even for a platform that doesn't actually *have* pre-/post-increment insns, leading to an ICE later on.
The patch below simply avoids setting .inc unless it was already set to a nonzero value (by find_inc_amount).
- As mentioned in http://gcc.gnu.org/ml/gcc/2005-01/msg01112.html there are problems with reload ordering when optional reloads are disabled, leading to address reload insns being emitted after the main insn.
The patch below is the same I suggested in that mail; it considers
such address reloads to feed into both the optional reload and the main insn in scan_rtx.
- Finally, there is still a (new) problem in the latest version of
usable_for_inheritance: if an inherited register is chosen as
override-in because it is not suitable as reload register due
to HARD_REGNO_MODE_OK, it isn't even checked against the *usable_regs array.
The patch below adds back that check (using inmode, not mode).
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |