This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR71275 ira.c bb_loop_depth
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Bernd Schmidt <bschmidt at redhat dot com>
- Cc: Alan Modra <amodra at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 15 Jun 2016 08:14:45 -0700
- Subject: Re: [PATCH] PR71275 ira.c bb_loop_depth
- Authentication-results: sourceware.org; auth=none
- References: <20160526110205 dot GJ3300 at bubble dot grove dot modra dot org> <CAMe9rOqwWgeiSNDhq+gw2pWbug0jW8ugASNOJ33w+0Uar_HmcQ at mail dot gmail dot com> <20160615013021 dot GA25487 at bubble dot grove dot modra dot org> <ba990871-0f11-8e71-e64f-450c6eea2cb1 at redhat dot com> <20160615140351 dot GC25487 at bubble dot grove dot modra dot org> <af9967a3-c305-4aca-a1d5-deca30e96595 at redhat dot com>
On Wed, Jun 15, 2016 at 7:06 AM, Bernd Schmidt <bschmidt@redhat.com> wrote:
>
>
> On 06/15/2016 04:03 PM, Alan Modra wrote:
>>
>> On Wed, Jun 15, 2016 at 11:49:50AM +0200, Bernd Schmidt wrote:
>>>
>>> On 06/15/2016 03:30 AM, Alan Modra wrote:
>>>>
>>>> Between these two calls to _gfortran_string_verify,
>>>> if (verify(c4, "A", back = .true.) .ne. 3) call abort
>>>> if (verify(c4, "AB") .ne. 0) call abort
>>>> it seems that gfortran is assuming that parameters passed on the stack
>>>> are unchanged.
>>>
>>>
>>> How? Is this something in the Fortran frontend, or is there CSE going on
>>> for
>>> stores to the argument area?
>>
>>
>> It's not a fortran problem, and I answered my own question about the
>> ABI by the testcase in
>> https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01098.html. If tail
>> calls are allowed, then the stack parameter area must be overwritten.
>> Thus an ABI can't allow tail calls if it specifies the stack parameter
>> area is preserved. x86 allows tail calls.
>
>
> Well yes. The problem isn't that the stack area is overwritten, the problem
> is that something expects that it isn't, and it's not clear to me yet where
> that problem occurs.
Will this patch
https://gcc.gnu.org/bugzilla/attachment.cgi?id=38705
also fix this
--
H.J.