aboutsummaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-27 20:33:38 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-27 20:33:38 +0000
commitca486330c49fe55964c6d11f1463d70365bdef6b (patch)
tree66e196517fd89856bf4cc787decc8acce49a4e4a /gcc/jump.c
parent38e60c554d650d2c1fdefea2ba4f70ebf1d31298 (diff)
downloadgcc-ca486330c49fe55964c6d11f1463d70365bdef6b.zip
gcc-ca486330c49fe55964c6d11f1463d70365bdef6b.tar.gz
gcc-ca486330c49fe55964c6d11f1463d70365bdef6b.tar.bz2
Use rtx_expr_list for expr_status.x_forced_labels
gcc/ 2014-08-27 David Malcolm <dmalcolm@redhat.com> * function.h (struct expr_status): Strengthen field "x_forced_labels" from rtx to rtx_expr_list *. * cfgbuild.c (make_edges): Split local "x" into two locals, strengthening one from rtx to rtx_expr_list *, and using methods of said class. * dwarf2cfi.c (create_trace_edges): Split local "lab" out; within loop over forced_labels, introduce strengthen it from rtx to rtx_expr_list *, using methods to clarify the code. * jump.c (rebuild_jump_labels_1): Strengthen local "insn" from rtx to rtx_expr_list *, using methods of said class to clarify the code. * reload1.c (set_initial_label_offsets): Split local "x" into two per-loop variables, strengthening the first from rtx to rtx_expr_list * and using methods. From-SVN: r214602
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index a28300c..b8d3d52 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -74,7 +74,7 @@ static int returnjump_p_1 (rtx *, void *);
static void
rebuild_jump_labels_1 (rtx_insn *f, bool count_forced)
{
- rtx insn;
+ rtx_expr_list *insn;
timevar_push (TV_REBUILD_JUMP);
init_label_info (f);
@@ -85,9 +85,9 @@ 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 = XEXP (insn, 1))
- if (LABEL_P (XEXP (insn, 0)))
- LABEL_NUSES (XEXP (insn, 0))++;
+ for (insn = forced_labels; insn; insn = insn->next ())
+ if (LABEL_P (insn->element ()))
+ LABEL_NUSES (insn->element ())++;
timevar_pop (TV_REBUILD_JUMP);
}