This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix crossjumping (PR rtl-optimization/58365)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 10 Sep 2013 13:27:24 +0200
- Subject: Re: [PATCH] Fix crossjumping (PR rtl-optimization/58365)
- Authentication-results: sourceware.org; auth=none
- References: <20130910103814 dot GV1817 at tucnak dot redhat dot com> <CAFiYyc0rS4maDGNx-4=POAnqT+KQbX6LECRBNpYrkEQZ5HTE9Q at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Tue, Sep 10, 2013 at 01:18:34PM +0200, Richard Biener wrote:
> Ok.
Thanks.
> > BTW, I wonder about REG_ATTRS and REG_POINTER, REG_USERVAR_P,
> > REG_FUNCTION_VALUE_P, is it fine to keep them as is
>
> Definitely REG_EXPR is used to check for signedness of a register, but I suppose
> that is cleared. I don't see how REG_POINTER can be merged at all, not sure
> of the others - they don't seem to have a "conservative correct" value either.
>
> > (as in, can rtx_equal_p
> > for REG only compares REGNO and mode, nothing else, not sure if we could
> > end up with differences in any of those during cross-jumping and whether
> > it could affect code generation).
>
> If REGNO is the same then all of the attributes are, too, no?
This is after reload, I don't see why the same hard register couldn't be
reused for something else in different part of code, then we cross-jump
those two together.
Jakub