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