This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch i386]: Sibcall tail-call improvement and partial fix PR/60104
- From: Kai Tietz <ktietz at redhat dot com>
- To: Jeff Law <law at redhat dot com>
- Cc: Alexander Monakov <amonakov at ispras dot ru>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Henderson <rth at redhat dot com>
- Date: Tue, 27 May 2014 10:05:35 -0400 (EDT)
- Subject: Re: [patch i386]: Sibcall tail-call improvement and partial fix PR/60104
- Authentication-results: sourceware.org; auth=none
- References: <1478265243 dot 5697739 dot 1400792508558 dot JavaMail dot zimbra at redhat dot com> <alpine dot LNX dot 2 dot 00 dot 1405231242340 dot 20140 at monopod dot intra dot ispras dot ru> <1457483078 dot 6444864 dot 1400835533274 dot JavaMail dot zimbra at redhat dot com> <537F8CA3 dot 2010200 at redhat dot com>
----- Original Message -----
> On 05/23/14 02:58, Kai Tietz wrote:
> > Hello,
> >
> > yes the underlying issue is the same as for PR/46219. Nevertheless
> > the patch doesn't solve this mentioned PR as I used for know a pretty
> > conservative checking of allowed memories. By extending
> > x86_sibcall_memory_p_1 function about allowing register-arguments too
> > for memory, this problem can be solved.
> BTW, do you want to add 46219 to your list?
Yes, it makes I put it to my list. Underlying issue is related to this issue here. I have a additional patch for fixing 46219. Sadly it causes troubles about stack-based memories in some rare cases. Still working on a finding a sample to reproduce issue outside of bootstrap.
The point is that in memories on checking for sibling-tail-calls we still see pseudo-register variables. So we can't be sure if it requires frame/stack-pointer or not.
> At the least, I think we should add the test from 46219 to the suite,
> xfailed if you don't tackle it as a part of this work.
Sure I added this testcase to the testsuite-patch. I still wait for comments on the accumulator-part, as here I added the stdarg-check.
> jeff
>