aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload1.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/reload1.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/reload1.c')
-rw-r--r--gcc/reload1.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 2bb8005..f7acd65 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -3909,14 +3909,13 @@ set_initial_eh_label_offset (rtx label)
static void
set_initial_label_offsets (void)
{
- rtx x;
memset (offsets_known_at, 0, num_labels);
- for (x = forced_labels; x; x = XEXP (x, 1))
- if (XEXP (x, 0))
- set_label_offsets (XEXP (x, 0), NULL, 1);
+ for (rtx_expr_list *x = forced_labels; x; x = x->next ())
+ if (x->element ())
+ set_label_offsets (x->element (), NULL, 1);
- for (x = nonlocal_goto_handler_labels; x; x = XEXP (x, 1))
+ for (rtx x = nonlocal_goto_handler_labels; x; x = XEXP (x, 1))
if (XEXP (x, 0))
set_label_offsets (XEXP (x, 0), NULL, 1);