2014-10-02 22:30 GMT+04:00 Jeff Law <l...@redhat.com>: > 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?
With this fix almost all benchmarks compile successfully but there is still one ICE in LRA. I described it in MPX ABI thread. Ilya > > Jeff >