This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix aarch64 exception handling (PR c++/59813)


On 5/10/19 9:17 AM, Jakub Jelinek wrote:
> On Fri, May 10, 2019 at 01:46:07PM +0000, Wilco Dijkstra wrote:
>> And looking at the generated code, emitting a tailcall for this case is actually a
>> de-optimization since the large eh_return epilog must be repeated for every
>> tailcall.
> 
> On x86_64, the code is shorter with the tail call rather than without.
> 
> That said, here is actually tested workaround until targets are fixed.
> Richard or Jeff, do we want this workaround?
> 
> I don't see why we would need extra testsuite coverage for this, given the
> number of FAILs or bootstrap issues on targets that are broken.
> 
> 2019-05-10  Jakub Jelinek  <jakub@redhat.com>
> 
> 	PR c++/59813
> 	* unwind.inc (_Unwind_Resume_or_Rethrow): Add optimize attribute
> 	to temporarily avoid tail calls in the function.
I think my worry would be all the targets that support tail calls, but
which we can't easily test.   ie, we put in the hack, but when do we
know it can be removed?

Is there any property of the code that we can look at instead of a hack
like this?

jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]