aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgrtl.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2014-08-28 19:03:22 +0000
committerDavid Malcolm <dmalcolm@gcc.gnu.org>2014-08-28 19:03:22 +0000
commitb5241a5a9c5e34639b97aa3d488f021d96eafb4d (patch)
tree0fe8976b1ef9952f3ce44fb0045368039460da52 /gcc/cfgrtl.c
parentf48bd60e3a778f262e0ac26b9678ab60012fb780 (diff)
downloadgcc-b5241a5a9c5e34639b97aa3d488f021d96eafb4d.zip
gcc-b5241a5a9c5e34639b97aa3d488f021d96eafb4d.tar.gz
gcc-b5241a5a9c5e34639b97aa3d488f021d96eafb4d.tar.bz2
Convert nonlocal_goto_handler_labels from an EXPR_LIST to an INSN_LIST
gcc/ 2014-08-28 David Malcolm <dmalcolm@redhat.com> * function.h (struct rtl_data): Convert field "x_nonlocal_goto_handler_labels" from rtx_expr_list * to rtx_insn_list *. * rtl.h (remove_node_from_insn_list): New prototype. * builtins.c (expand_builtin): When prepending to nonlocal_goto_handler_labels, use gen_rtx_INSN_LIST rather than gen_rtx_EXPR_LIST. * cfgbuild.c (make_edges): Convert local "x" from rtx_expr_list * to rtx_insn_list *, and use its "insn" method rather than "element" method. * cfgrtl.c (delete_insn): Use new function remove_node_from_insn_list rather than remove_node_from_expr_list. (cfg_layout_initialize): Convert local "x" from rtx_expr_list * to rtx_insn_list *, and use its "insn" method rather than "element" method. * dwarf2cfi.c (create_trace_edges): Likewise for local "lab". * reload1.c (set_initial_label_offsets): Likewise for local "x". * rtlanal.c (remove_node_from_insn_list): New function, adapted from remove_node_from_expr_list. * stmt.c (expand_label): When prepending to nonlocal_goto_handler_labels, use gen_rtx_INSN_LIST rather than gen_rtx_EXPR_LIST. From-SVN: r214687
Diffstat (limited to 'gcc/cfgrtl.c')
-rw-r--r--gcc/cfgrtl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/cfgrtl.c b/gcc/cfgrtl.c
index 9707c1f..d9b41e0 100644
--- a/gcc/cfgrtl.c
+++ b/gcc/cfgrtl.c
@@ -159,7 +159,7 @@ delete_insn (rtx uncast_insn)
}
}
- remove_node_from_expr_list (insn, &nonlocal_goto_handler_labels);
+ remove_node_from_insn_list (insn, &nonlocal_goto_handler_labels);
}
if (really_delete)
@@ -4216,7 +4216,7 @@ cfg_layout_duplicate_bb (basic_block bb)
void
cfg_layout_initialize (unsigned int flags)
{
- rtx_expr_list *x;
+ rtx_insn_list *x;
basic_block bb;
/* Once bb partitioning is complete, cfg layout mode should not be
@@ -4237,7 +4237,7 @@ cfg_layout_initialize (unsigned int flags)
/* Make sure that the targets of non local gotos are marked. */
for (x = nonlocal_goto_handler_labels; x; x = x->next ())
{
- bb = BLOCK_FOR_INSN (x->element ());
+ bb = BLOCK_FOR_INSN (x->insn ());
bb->flags |= BB_NON_LOCAL_GOTO_TARGET;
}