http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49801
Paolo Bonzini <bonzini at gnu dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bonzini at gnu dot org --- Comment #8 from Paolo Bonzini <bonzini at gnu dot org> 2011-10-07 07:34:27 UTC --- Setting TODO_df_finish should be enough. You should need none of: - deferred rescanning (ultimately emit_insn_after_1 calls df_insn_rescan), since recursive splits are relatively rare. - df_analyze, since df_insn_rescan tells liveness verification to skip dirty blocks, no matter if it is called by on-the-fly or deferred rescanning - df_live_add_problem, since it should be okay to use df_lr at -O1 (unlike df_live, and like traditional flow.c, df_lr treats uninitialized registers as live). In fact, probably you don't need df_live_add_problem in compare-elim.c if you use df_get_live_out and df_get_live_in instead of &DF_LIVE_BB_INFO (bb)->out and &DF_LIVE_BB_INFO (bb)->in. (My fault during review).