diff options
author | Trevor Saunders <tbsaunde+gcc@tbsaunde.org> | 2016-08-28 00:03:59 +0000 |
---|---|---|
committer | Trevor Saunders <tbsaunde@gcc.gnu.org> | 2016-08-28 00:03:59 +0000 |
commit | 6f7eba349b7f2b140f163b772ba94b383d02d64e (patch) | |
tree | 6e015ffd2f6f050040be30de304e3e8a115eba43 /gcc/jump.c | |
parent | 9cad8a673f30b657218eb73565b992ba203a2581 (diff) | |
download | gcc-6f7eba349b7f2b140f163b772ba94b383d02d64e.zip gcc-6f7eba349b7f2b140f163b772ba94b383d02d64e.tar.gz gcc-6f7eba349b7f2b140f163b772ba94b383d02d64e.tar.bz2 |
make forced labels a vec
gcc/ChangeLog:
2016-08-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* cfgbuild.c (make_edges): Adjust.
* cfgrtl.c (can_delete_label_p): Likewise.
* dwarf2cfi.c (create_trace_edges): Likewise.
* except.c (sjlj_emit_dispatch_table): Likewise.
* function.h (struct expr_status): make x_forced_labels a vector.
* jump.c (rebuild_jump_labels_1): Adjust.
* reload1.c (set_initial_label_offsets): Likewise.
* stmt.c (force_label_rtx): Likewise.
(expand_label): Likewise.
From-SVN: r239800
Diffstat (limited to 'gcc/jump.c')
-rw-r--r-- | gcc/jump.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -68,8 +68,6 @@ static int invert_exp_1 (rtx, rtx); static void rebuild_jump_labels_1 (rtx_insn *f, bool count_forced) { - rtx_insn_list *insn; - timevar_push (TV_REBUILD_JUMP); init_label_info (f); mark_all_labels (f); @@ -79,9 +77,13 @@ rebuild_jump_labels_1 (rtx_insn *f, bool count_forced) count doesn't drop to zero. */ if (count_forced) - for (insn = forced_labels; insn; insn = insn->next ()) - if (LABEL_P (insn->insn ())) - LABEL_NUSES (insn->insn ())++; + { + rtx_insn *insn; + unsigned int i; + FOR_EACH_VEC_SAFE_ELT (forced_labels, i, insn) + if (LABEL_P (insn)) + LABEL_NUSES (insn)++; + } timevar_pop (TV_REBUILD_JUMP); } |