[PATCH 0/4] Use rtx_insn * for instruction attributes

David Malcolm dmalcolm@redhat.com
Fri Sep 12 20:33:00 GMT 2014


This patch series strengthens more things from rtx to rtx_insn *,
eliminating checked casts.

Patches 1-3 are fairly trivial, but patch 4 is substantial,
strengthening the params of all of the various generated
get_attr_* functions from rtx to rtx_insn * (when they're not
constant and thus void), along with various other attribute-style
functions relating to instruction scheduling.

I've bootstrapped each patch cumulatively on x86_64-unknown-linux-gnu
(Fedora 20), and I've successfully built the combination of all four
with a config-list.mk build, building stage 1 for all working
configurations (currently 187 successfully-built configurations).

OK for trunk?


David Malcolm (4):
  deps_start_bb takes an insn
  The TARGET_CAN_FOLLOW_JUMP hook takes insns
  The various TARGET_ASM_..._MAX_SKIP hooks take an insn
  Instruction attributes take an rtx_insn *

 gcc/config/arc/arc-protos.h           |  4 +--
 gcc/config/arc/arc.c                  | 35 ++++++++++++++------------
 gcc/config/arc/arc.h                  | 20 +++++++--------
 gcc/config/bfin/bfin.c                | 10 ++++----
 gcc/config/c6x/c6x.c                  |  4 +--
 gcc/config/cris/cris-protos.h         |  2 +-
 gcc/config/cris/cris.c                |  2 +-
 gcc/config/epiphany/epiphany-protos.h |  4 +--
 gcc/config/epiphany/epiphany.c        |  2 +-
 gcc/config/epiphany/mode-switch-use.c |  2 +-
 gcc/config/frv/frv.c                  | 16 ++++++------
 gcc/config/i386/i386-protos.h         |  4 +--
 gcc/config/i386/i386.c                | 28 ++++++++++-----------
 gcc/config/m32c/m32c-protos.h         |  2 +-
 gcc/config/m32c/m32c.c                |  7 +++---
 gcc/config/m32r/predicates.md         |  4 +--
 gcc/config/m68k/m68k-protos.h         |  4 +--
 gcc/config/m68k/m68k.c                | 10 ++++----
 gcc/config/mep/mep-protos.h           |  2 +-
 gcc/config/mep/mep.c                  |  2 +-
 gcc/config/mips/mips-protos.h         |  4 +--
 gcc/config/mips/mips.c                | 12 ++++-----
 gcc/config/nds32/nds32-fp-as-gp.c     |  2 +-
 gcc/config/nds32/nds32.c              |  2 +-
 gcc/config/pa/pa-protos.h             |  2 +-
 gcc/config/pa/pa.c                    | 12 ++++-----
 gcc/config/rl78/rl78.c                |  2 +-
 gcc/config/rs6000/rs6000.c            | 30 +++++++++++------------
 gcc/config/rx/rx.c                    |  6 ++---
 gcc/config/s390/s390.c                |  4 +--
 gcc/config/sh/sh-protos.h             |  4 +--
 gcc/config/sh/sh.c                    | 12 ++++-----
 gcc/config/sparc/sparc-protos.h       |  6 ++---
 gcc/config/sparc/sparc.c              |  6 ++---
 gcc/config/stormy16/stormy16-protos.h |  4 +--
 gcc/config/stormy16/stormy16.c        |  6 +++--
 gcc/config/v850/v850-protos.h         |  2 +-
 gcc/config/v850/v850.c                |  2 +-
 gcc/doc/tm.texi                       | 10 ++++----
 gcc/final.c                           | 24 +++++++++---------
 gcc/genattr.c                         | 46 ++++++++++++++++++-----------------
 gcc/genattrtab.c                      | 19 ++++++---------
 gcc/genautomata.c                     | 43 ++++++++++++++++++++++++--------
 gcc/hooks.c                           |  8 +++---
 gcc/hooks.h                           |  5 ++--
 gcc/output.h                          |  4 +--
 gcc/recog.c                           |  2 +-
 gcc/recog.h                           |  2 +-
 gcc/reorg.c                           | 12 ++++-----
 gcc/resource.c                        |  4 +--
 gcc/sched-deps.c                      |  4 +--
 gcc/sched-int.h                       |  2 +-
 gcc/sel-sched.c                       |  2 +-
 gcc/target.def                        | 12 ++++-----
 gcc/targhooks.h                       |  8 +++---
 55 files changed, 260 insertions(+), 229 deletions(-)

-- 
1.8.5.3



More information about the Gcc-patches mailing list