This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: [5 Regression] r219037 caused FAIL: gcc.dg/pr44194-1.c
- From: Jakub Jelinek <jakub at redhat dot com>
- To: John David Anglin <dave dot anglin at bell dot net>
- Cc: Jeff Law <law at redhat dot com>, Richard Biener <richard dot guenther at gmail dot com>, "H.J. Lu" <hjl dot tools at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 5 Jan 2015 22:23:57 +0100
- Subject: Re: PATCH: [5 Regression] r219037 caused FAIL: gcc.dg/pr44194-1.c
- Authentication-results: sourceware.org; auth=none
- References: <BLU436-SMTP293938CFE81AE7537DEB69975A0 at phx dot gbl> <CAMe9rOq-rrmXKUGExxGMb-AWYcVe94e4oL=egYPpnAt+LAOnOA at mail dot gmail dot com> <BLU436-SMTP2162BA4BC148FE8B140D186975A0 at phx dot gbl> <CAMe9rOrHBxjFpZtkyQa+tn5=GV3KQY_sdCd+YNhq5uXcu-x73g at mail dot gmail dot com> <1DEC62AA-F782-423D-B110-FC1E48CC97E8 at gmail dot com> <CAMe9rOq5hPS=e6FZug4SbPvjch=KKzP9woUoETYNY8WfJWgxUg at mail dot gmail dot com> <BAB09BDF-695F-4653-A3A1-4B406E38D48A at gmail dot com> <54AA9D75 dot 7050400 at redhat dot com> <20150105185103 dot GW1667 at tucnak dot redhat dot com> <BLU436-SMTP16492009098D2670451691E97580 at phx dot gbl>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Jan 05, 2015 at 03:16:46PM -0500, John David Anglin wrote:
> I think there may be one situation after reload that's not handled
> by the above. frame_read is only used for const calls. What about
> the situation where we have a non const sibcall and the frame pointer
> isn't eliminated?
After reload DSE is run after threading prologues/epilogues, end
the prologue/epilogue sequences usually contain wild reads, e.g.
(mem:BLK (scratch)) in some insn etc.
Do you have some particular testcase in mind?
That said, DSE after reload is much more limited than the DSE before reload,
so is less important, so perhaps even
if ((HARD_FRAME_POINTER_IS_ARG_POINTER || reload_completed)
&& SIBLING_CALL_P (insn))
{
add_wild_read (bb_info);
return;
}
might be good enough.
Jakub