diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-05-08 09:30:54 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-05-08 09:30:54 +0200 |
commit | af1634f1b555004753a22d1124dbb8419ee095cb (patch) | |
tree | 0248c89291a324cd6af2806c61e8c29b6b6f95ce /gcc/postreload.c | |
parent | 88fdafb10608c8d01048f91213d67669988d62f4 (diff) |
csa: Fix --enable-checking=yes,df bootstrap failure in csa [PR94961]
My recent combine-stack-adj.c change broke df checking bootstrap,
while most of the changes are done through validate_change/confirm_changes
which update df info, the removal of REG_EQUAL notes didn't update df info.
2020-05-08 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/94961
PR rtl-optimization/94516
* rtl.h (remove_reg_equal_equiv_notes): Add a bool argument defaulted
to false.
* rtlanal.c (remove_reg_equal_equiv_notes): Add no_rescan argument.
Call df_notes_rescan if that argument is not true and returning true.
* combine.c (adjust_for_new_dest): Pass true as second argument to
remove_reg_equal_equiv_notes.
* postreload.c (reload_combine_recognize_pattern): Don't call
df_notes_rescan.
Diffstat (limited to 'gcc/postreload.c')
-rw-r--r-- | gcc/postreload.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/postreload.c b/gcc/postreload.c index 677b8244e3e..f6258285022 100644 --- a/gcc/postreload.c +++ b/gcc/postreload.c @@ -1223,11 +1223,10 @@ reload_combine_recognize_pattern (rtx_insn *insn) /* Delete the reg-reg addition. */ delete_insn (insn); - if (reg_state[regno].offset != const0_rtx - /* Previous REG_EQUIV / REG_EQUAL notes for PREV - are now invalid. */ - && remove_reg_equal_equiv_notes (prev)) - df_notes_rescan (prev); + if (reg_state[regno].offset != const0_rtx) + /* Previous REG_EQUIV / REG_EQUAL notes for PREV + are now invalid. */ + remove_reg_equal_equiv_notes (prev); reg_state[regno].use_index = RELOAD_COMBINE_MAX_USES; return true; |