diff options
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/bb-reorder.c | 2 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 1 | ||||
-rw-r--r-- | gcc/regstat.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr92410.c | 8 |
6 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 58ffe76..43e838c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2019-12-09 Matthew Malcomson <matthew.malcomson@arm.com> + + PR middle-end/92410 + * bb-reorder.c (pass_reorder_blocks::execute): Recompute + dataflow luids once basic blocks have been reordered. + * haifa-sched.c (reemit_notes): Create df insn record for each + new note. + * regstat.c (regstat_bb_compute_calls_crossed): Assert every + insn has an insn record before trying to use it. + 2019-12-09 Hongtao Liu <hongtao.liu@intel.com> * gcc/common/config/i386/i386-common.c diff --git a/gcc/bb-reorder.c b/gcc/bb-reorder.c index d1a2f1e..1cdeac1 100644 --- a/gcc/bb-reorder.c +++ b/gcc/bb-reorder.c @@ -2662,6 +2662,8 @@ pass_reorder_blocks::execute (function *fun) bb->aux = bb->next_bb; cfg_layout_finalize (); + FOR_EACH_BB_FN (bb, fun) + df_recompute_luids (bb); return 0; } diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index 54fb034..d56c405 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -5432,6 +5432,7 @@ reemit_notes (rtx_insn *insn) last = emit_note_before (note_type, last); remove_note (insn, note); + df_insn_create_insn_record (last); } } } diff --git a/gcc/regstat.c b/gcc/regstat.c index 4da9b7c..c6cefb11 100644 --- a/gcc/regstat.c +++ b/gcc/regstat.c @@ -324,6 +324,7 @@ regstat_bb_compute_calls_crossed (unsigned int bb_index, bitmap live) FOR_BB_INSNS_REVERSE (bb, insn) { + gcc_assert (INSN_UID (insn) < DF_INSN_SIZE ()); struct df_insn_info *insn_info = DF_INSN_INFO_GET (insn); unsigned int regno; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 272a83e..8361b78 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-12-09 Matthew Malcomson <matthew.malcomson@arm.com> + + PR middle-end/92410 + * gcc.dg/torture/pr92410.c: New test. + 2019-12-09 Sudakshina Das <sudi.das@arm.com> * gcc.dg/vect/vect-shift-5.c: New test. diff --git a/gcc/testsuite/gcc.dg/torture/pr92410.c b/gcc/testsuite/gcc.dg/torture/pr92410.c new file mode 100644 index 0000000..628e329 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr92410.c @@ -0,0 +1,8 @@ +/* PR middle-end/92410 */ +/* { dg-do compile } */ +int v; + +int a() { + ; + return v; +} |