Make insn_addresses_new require an rtx_insn
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Aug 2014 00:07:51 +0000 (00:07 +0000)
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 29 Aug 2014 00:07:51 +0000 (00:07 +0000)
commited7591be7589c9590fae46a69b74e00b94c1b7a0
tree8f06167e65a551690e63c81678d1990d5e257be2
parenta3e1146a0fef38f71d283d1f4c6e5072bc87db3e
Make insn_addresses_new require an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* insn-addr.h (insn_addresses_new): Strengthen param "insn" from
rtx to rtx_insn *.
* config/s390/s390.c (s390_split_branches): Eliminate top-level
local rtx "tmp", in favor of new local rtx "mem" and rtx_insn *
"set_insn".
(s390_mainpool_finish): In three places, split out a local rtx
"insn" into a local rtx - "set" or "pat" - and a rtx_insn *
"insn".  Strengthen local "pool_end" from rtx to rtx_code_label *
 and split another local rtx "insn" out into rtx "pat" and
rtx_insn * "insn".
* config/sh/sh.c (output_branchy_insn): Rather than working
directly on operands[9], introduce local rtx_code_label *
variables named "lab" in two places, working on them, and then
assigning them to operands[9], so that the intervening operations
are known by the type system to be on insns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214701 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/config/sh/sh.c
gcc/insn-addr.h