"H.J. Lu" <hjl.to...@gmail.com> writes: > Hi, > > This patch changes get_elimination to check register number instead of > RTX. Tested on Linux/x32 with -maddress-mode=long. OK to install?
FWIW, this doesn't sound right to me, at least not without more justification. The idea is that things like frame_pointer_rtx are supposed to be unique, so the original code: > if ((ep = elimination_map[hard_regno]) != NULL) > - return ep->from_rtx != reg ? NULL : ep; > from != hard_regno ? NULL : ep; ought to be correct in itself. reload did the same thing: for (ep = reg_eliminate; ep < ®_eliminate[NUM_ELIMINABLE_REGS]; ep++) if (ep->from_rtx == x && ep->can_eliminate) return plus_constant (Pmode, ep->to_rtx, ep->previous_offset); It sounds on the face of it like the bug is elsewhere. Richard