optimize_mode_switching uses REG_DEAD notes to track register liveness, but it failed to tell DF to calculate up-to-date notes.
Noticed by inspection. I don't have a testcase that fails because of this. gcc/ * mode-switching.cc (optimize_mode_switching): Call df_note_add_problem. --- I was tempted to apply this as obvious, but wasn't sure if I was missing something. gcc/mode-switching.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/mode-switching.cc b/gcc/mode-switching.cc index c3e4d24de9b..8577069bde1 100644 --- a/gcc/mode-switching.cc +++ b/gcc/mode-switching.cc @@ -541,6 +541,7 @@ optimize_mode_switching (void) pre_exit = create_pre_exit (n_entities, entity_map, num_modes); } + df_note_add_problem (); df_analyze (); /* Create the bitmap vectors. */ -- 2.25.1