This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, PR 10474] Split live-ranges of function arguments to help shrink-wrapping
- From: Steven Bosscher <stevenb dot gcc at gmail dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>, Steven Bosscher <stevenb dot gcc at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 24 Oct 2013 01:02:51 +0200
- Subject: Re: [PATCH, PR 10474] Split live-ranges of function arguments to help shrink-wrapping
- Authentication-results: sourceware.org; auth=none
- References: <20131021163237 dot GA11578 at virgil dot suse> <CABu31nMPQWjT5HnnQAOMF5tj+t-L4CNNpFvGxF-VtCZf44_EXQ at mail dot gmail dot com> <5265EA56 dot 6050707 at redhat dot com> <20131023164630 dot GB22314 at virgil dot suse>
On Wed, Oct 23, 2013 at 6:46 PM, Martin Jambor wrote:
> /* Perform the second half of the transformation started in
> @@ -4522,7 +4704,15 @@ ira (FILE *f)
> allocation because of -O0 usage or because the function is too
> big. */
> if (ira_conflicts_p)
> - find_moveable_pseudos ();
> + {
> + df_analyze ();
> + calculate_dominance_info (CDI_DOMINATORS);
> +
> + find_moveable_pseudos ();
> + split_live_ranges_for_shrink_wrap ();
> +
> + free_dominance_info (CDI_DOMINATORS);
> + }
>
You probably want to add another df_analyze if
split_live_ranges_for_shrink_wrap makes code transformations. AFAIU
find_moveable_pseudos doesn't change global liveness but your
transformation might. IRA/LRA need up-to-date DF_LR results to compute
allocno live ranges.
Ciao!
Steven