This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Issue with find_tail_calls
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 18 Nov 2005 14:43:44 +0100
- Subject: Re: Issue with find_tail_calls
- References: <10511181342.AA21738@vlsi1.ultra.nyu.edu>
On 11/18/05, Richard Kenner <kenner@vlsi1.ultra.nyu.edu> wrote:
> I sent email about this a few months ago (I can't find it since I'm having
> a problem getting a browser to work on gcc.gnu.org) and thought I'd raise
> it again since it would be good to get this into 4.1
>
> Currently, tail call detected is almost completely disabled for Ada due
> to confusion as to which conversions are stripped off.
>
> It used to be that STRIP_USELESS_TYPE_CONVERSION used to strip exactly
> those conversions that the types_compatible_p langhook said were
> compatible. But that's no longer true.
>
> Because of that, find_tail_call says most calls in Ada aren't eligable.
>
> I propose the following patch and also propose doing it in all similar
> uses of a direct call of the lang hook in the optimizer since I think all
> have the same problem. But I've only tested the patch below so far.
>
> Comments?
Be careful, tree_ssa_useless_type_conversion_1 strips CV qualifiers from
pointers, f.i. See various different cleanup-patches I posted long time ago.
Richard.