From: David Malcolm Date: Wed, 27 Aug 2014 20:28:31 +0000 (+0000) Subject: varasm.c: Use rtx_sequence X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=30db48d9d22e04e7270ba5b204fa74f4c8f9f5e3;p=gcc.git 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. From-SVN: r214600 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52641234eb2..0aae07faee2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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 diff --git a/gcc/varasm.c b/gcc/varasm.c index ce99a138171..f2d5a26e7b9 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); }