This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 017/236] Add subclasses for the various kinds of instruction


On 08/06/14 11:19, David Malcolm wrote:
gcc/
	* coretypes.h (class rtx_real_insn): Add forward declaration.
	(class rtx_debug_insn): Likewise.
	(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_real_insn): New, a subclass of rtx_insn, adding
	the invariant INSN_P (X).
	(class rtx_debug_insn): New, a subclass of rtx_real_insn, adding
	the invariant DEBUG_INSN_P (X).
	(class rtx_nonjump_insn): New, a subclass of rtx_real_insn, adding
	the invariant NONJUMP_INSN_P (X).
	(class rtx_jump_insn): New, a subclass of rtx_real_insn, adding
	the invariant JUMP_P (X).
	(class rtx_call_insn): New, a subclass of rtx_real_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_real_insn, adding
	the invariant LABEL_P (X).
	(class rtx_note): New, a subclass of rtx_real_insn, adding
	the invariant NOTE_P(X).
	(is_a_helper <rtx_real_insn *>::test): New.
	(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.
Sounds like the direction we're going right now is to drop rtx_real_insn and squish one level of inheritance out. OK with the obvious changes around that. I probably won't call out any rtx_real_insn stuff for future patches as I'll assume you will take care of that as you do your bootstrap builds prior to installation.

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]