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.enkov...@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