On 10/10/14 11:33, Uros Bizjak wrote:
On Fri, Oct 10, 2014 at 7:29 PM, Ilya Enkovich <enkovich....@gmail.com> wrote:
2014-10-10 21:10 GMT+04:00 Uros Bizjak <ubiz...@gmail.com>:
On Wed, Oct 1, 2014 at 8:57 PM, Vladimir Makarov <vmaka...@redhat.com> wrote:

The problem is in code introduced by Bernd in IRA and caller-saves.c in
2012.  It is basically an optimization for functions returning always the
same result as one argument (e.g. memcpy returning 1st argument).

There are two possible solutions.  First one is to prohibit the
optimizations when there is a parallel in SET.  Second one is to go deeper
if the call result is guaranteed in the first element which is true for the
patch.

I suspect that the first solution will regress
gcc.target/i386/retarg.c on i686 - that testcase test if referred
optimization is effective. All things equal, I think we should go with
the second solution.

The first solutions is in trunk since October 3
(https://gcc.gnu.org/ml/gcc-cvs/2014-10/msg00094.html) and I don't see
such fail.  Patch actually just checks for a case which never occurs
right now and therefore should be quite safe.

True, but after MPX patches are committed, PARALLELs will be passed as
call targets. I wonder if the testcase fails then.
Well, before those patches can be committed, they have to survive bootstrap and regression testing as a whole :-)

jeff

Reply via email to