This is the mail archive of the gcc-patches@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]

Re: [PATCH] Avoid ICE in LRA for calls with multiple return values


On 10/02/14 08:30, Ilya Enkovich wrote:
Hi,

This patch adds a check for call destination register for a call return value optimization based on REG_RETURNED note.  This solves some ICE issues for MPX codes.

Bootstrapped and tested on linux-x86_64.  OK for trunk?

Thanks,
Ilya
--
2014-10-02  Ilya Enkovich  <ilya.enkovich@intel.com>

	* lra-constraints.c (inherit_in_ebb): Handle calls with
	multiple return values.
	* caller-save.c (save_call_clobbered_regs): Likewise.
This is fine. Please put a comment before the new if (REG_P (...))) conditional which notes that a CALL_INSN may have multiple return values expressed in an EXPR_LIST. That way if someone looks at this code a few years down the line, they'll know exactly why the code checks REG_P rather than just using the result blindly.

Did this fix all the multiple-return issues you encountered?

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]