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