From 3655b6bf72aa8349aa31943dc36e7fffb15f5147 Mon Sep 17 00:00:00 2001 From: dmalcolm Date: Wed, 27 Aug 2014 20:28:31 +0000 Subject: [PATCH] varasm.c: Use rtx_sequence gcc/ 2014-08-27 David Malcolm * varasm.c (mark_constants): Convert a GET_CODE check into a dyn_cast, strengthening local "seq" from rtx to rtx_sequence *. Use methods of rtx_sequence to clarify the code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214600 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/varasm.c | 7 +++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5264123..0aae07f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2014-08-27 David Malcolm + * varasm.c (mark_constants): Convert a GET_CODE check into a + dyn_cast, strengthening local "seq" from rtx to rtx_sequence *. + Use methods of rtx_sequence to clarify the code. + +2014-08-27 David Malcolm + * sched-vis.c (print_pattern): Within SEQUENCE case, introduce a local "seq" via a checked cast, and use methods of rtx_sequence to simplify the code. diff --git a/gcc/varasm.c b/gcc/varasm.c index ce99a13..f2d5a26 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -3928,13 +3928,12 @@ mark_constants (rtx_insn *insn) /* Insns may appear inside a SEQUENCE. Only check the patterns of insns, not any notes that may be attached. We don't want to mark a constant just because it happens to appear in a REG_EQUIV note. */ - if (GET_CODE (PATTERN (insn)) == SEQUENCE) + if (rtx_sequence *seq = dyn_cast (PATTERN (insn))) { - rtx seq = PATTERN (insn); - int i, n = XVECLEN (seq, 0); + int i, n = seq->len (); for (i = 0; i < n; ++i) { - rtx subinsn = XVECEXP (seq, 0, i); + rtx subinsn = seq->element (i); if (INSN_P (subinsn)) for_each_rtx (&PATTERN (subinsn), mark_constant, NULL); } -- 2.7.4