summaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-28 19:05:44 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-28 19:05:44 +0000
commite8c038cab2aa07a416816be30999578afb00a657 (patch)
treed3d01491f8685328e98111d3666549b0c3f27a74 /gcc/stmt.c
parentb5241a5a9c5e34639b97aa3d488f021d96eafb4d (diff)
downloadgcc-e8c038cab2aa07a416816be30999578afb00a657.tar.gz
Convert forced_labels from an EXPR_LIST to an INSN_LIST
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * function.h (struct expr_status): Convert field "x_forced_labels" from rtx_expr_list * to rtx_insn_list *. * cfgbuild.c (make_edges): Convert local "x" from an rtx_expr_list * to an rtx_insn_list *, replacing use of "element" method with "insn" method. * dwarf2cfi.c (create_trace_edges): Likewise for local "lab". * except.c (sjlj_emit_dispatch_table): Replace use of gen_rtx_EXPR_LIST with gen_rtx_INSN_LIST when prepending to forced_labels. * jump.c (rebuild_jump_labels_1): Convert local "insn" from an rtx_expr_list * to an rtx_insn_list *, replacing use of "element" method with "insn" method. * reload1.c (set_initial_label_offsets): Likewise for local "x". * stmt.c (label_rtx): Strengthen local "ref" from rtx to rtx_insn *, adding a checked cast. Replace use of gen_rtx_EXPR_LIST with gen_rtx_INSN_LIST when prepending it to forced_labels. (expand_label): Likewise for local "label_r". From-SVN: r214688
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 1cbd63d53a2..70dad0cdb09 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -141,12 +141,12 @@ label_rtx (tree label)
rtx
force_label_rtx (tree label)
{
- rtx ref = label_rtx (label);
+ rtx_insn *ref = as_a <rtx_insn *> (label_rtx (label));
tree function = decl_function_context (label);
gcc_assert (function);
- forced_labels = gen_rtx_EXPR_LIST (VOIDmode, ref, forced_labels);
+ forced_labels = gen_rtx_INSN_LIST (VOIDmode, ref, forced_labels);
return ref;
}
@@ -176,7 +176,7 @@ emit_jump (rtx label)
void
expand_label (tree label)
{
- rtx label_r = label_rtx (label);
+ rtx_insn *label_r = as_a <rtx_insn *> (label_rtx (label));
do_pending_stack_adjust ();
emit_label (label_r);
@@ -192,7 +192,7 @@ expand_label (tree label)
}
if (FORCED_LABEL (label))
- forced_labels = gen_rtx_EXPR_LIST (VOIDmode, label_r, forced_labels);
+ forced_labels = gen_rtx_INSN_LIST (VOIDmode, label_r, forced_labels);
if (DECL_NONLOCAL (label) || FORCED_LABEL (label))
maybe_set_first_label_num (label_r);