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