Add subclasses for the various kinds of instruction
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Aug 2014 16:57:10 +0000 (16:57 +0000)
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 19 Aug 2014 16:57:10 +0000 (16:57 +0000)
commite1d13ab664dfd67ba4caeb52d0adcbfddd5b31e8
tree4550c13f23ecc152f4ab5c1843b7907197af5a78
parentdd3ebafe9d1882b99eb30eeaf6fb365139dda4c8
Add subclasses for the various kinds of instruction

2014-08-19  David Malcolm  <dmalcolm@redhat.com>

* coretypes.h (class rtx_debug_insn): Add forward declaration.
(class rtx_nonjump_insn): Likewise.
(class rtx_jump_insn): Likewise.
(class rtx_call_insn): Likewise.
(class rtx_jump_table_data): Likewise.
(class rtx_barrier): Likewise.
(class rtx_code_label): Likewise.
(class rtx_note): Likewise.

* rtl.h (class rtx_debug_insn): New, a subclass of rtx_insn,
adding the invariant DEBUG_INSN_P (X).
(class rtx_nonjump_insn): New, a subclass of rtx_insn, adding
the invariant NONJUMP_INSN_P (X).
(class rtx_jump_insn): New, a subclass of rtx_insn, adding
the invariant JUMP_P (X).
(class rtx_call_insn): New, a subclass of rtx_insn, adding
the invariant CALL_P (X).
(class rtx_jump_table): New, a subclass of rtx_insn, adding the
invariant JUMP_TABLE_DATA_P (X).
(class rtx_barrier): New, a subclass of rtx_insn, adding the
invariant BARRIER_P (X).
(class rtx_code_label): New, a subclass of rtx_insn, adding
the invariant LABEL_P (X).
(class rtx_note): New, a subclass of rtx_insn, adding
the invariant NOTE_P(X).
(is_a_helper <rtx_debug_insn *>::test): New.
(is_a_helper <rtx_nonjump_insn *>::test): New.
(is_a_helper <rtx_jump_insn *>::test): New.
(is_a_helper <rtx_call_insn *>::test): New.
(is_a_helper <rtx_jump_table_data *>::test): New functions,
overloaded for both rtx and rtx_insn *.
(is_a_helper <rtx_barrier *>::test): New.
(is_a_helper <rtx_code_label *>::test): New functions, overloaded
for both rtx and rtx_insn *.
(is_a_helper <rtx_note *>::test): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214172 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/coretypes.h
gcc/rtl.h