Commit 4dea3bff by David Malcolm Committed by David Malcolm

emit-rtl.c: more typesafety

This patch converts various rtx to rtx_insn * (or rtx_code_label *).
It also convert the various "_loc" params from int to location_t

gcc/ChangeLog:
	* config/arc/arc.c (hwloop_optimize): Strengthen local "end_label"
	from rtx to rtx_insn *.
	* config/bfin/bfin.c (hwloop_optimize): Likewise for local
	"label".
	(add_sched_insns_for_speculation): Likewise for local "target",
	converting usage of JUMP_LABEL to JUMP_LABEL_AS_INSN.
	* config/c6x/c6x.c (reorg_split_calls): Strengthen param "call_labels"
	from rtx_insn ** to rtx_code_label **.
	(reorg_emit_nops): Likewise.
	(c6x_reorg): Likewise for local "call_labels".
	* config/sh/sh-protos.h (get_dest_uid): Strengthen 1st param from
	rtx to rtx_insn *.
	* config/sh/sh.c (dump_table): Strengthen local "lab" from rtx to
	rtx_code_label *, adding safe_as_a <rtx_code_label *> casts to
	the loops over LABEL_REFS.
	(fixup_addr_diff_vecs): Add as_a <rtx_insn *> to usage of
	braf_label.
	(barrier_align): Convert usage of JUMP_LABEL to JUMP_LABEL_AS_INSN.
	(get_dest_uid): Strengthen param "label" from rtx to rtx_insn *.
	(split_branches): Strengthen local "olabel" from rtx to
	rtx_insn *, adding a safe_as_a cast.
	* emit-rtl.c (next_real_insn): Strengthen param from "rtx"
	to "rtx_insn *".
	(add_insn_after): Likewise for first two params.
	(add_insn_before): Likewise.
	(remove_insn): Likewise for param.
	(emit_pattern_before_noloc): Likewise for second and third params.
	(emit_jump_insn_before_noloc): Convert NULL_RTX to NULL.
	(emit_call_insn_before_noloc): Likewise.
	(emit_debug_insn_before_noloc): Strengthen "before" param from "rtx"
	to "rtx_insn *".
	(emit_barrier_before): Likewise.
	(emit_label_before): Strengthen "label" param from "rtx" to
	"rtx_code_label *".  Strengthen "before" param from "rtx" to
	"rtx_insn *".
	(emit_insn_after_1): Strengthen "after" param from "rtx" to
	"rtx_insn *".
	(emit_pattern_after_noloc): Likewise.
	(emit_insn_after_noloc): Likewise.
	(emit_jump_insn_after_noloc): Likewise.
	(emit_call_insn_after_noloc): Likewise.
	(emit_debug_insn_after_noloc): Likewise.
	(emit_barrier_after): Likewise.
	(emit_label_after): Likewise for both params.
	(emit_pattern_after_setloc): Likewise for "after" param.  Convert
	"loc" param from "int" to "location_t".
	(emit_insn_after_setloc): Likewise.
	(emit_jump_insn_after_setloc): Likewise.
	(emit_call_insn_after_setloc): Likewise.
	(emit_debug_insn_after_setloc): Likewise.
	(emit_pattern_before_setloc): Likewise for "before" param.  Convert
	"loc" param from "int" to "location_t".
	(emit_pattern_before): Convert NULL_RTX to NULL.
	(emit_insn_before_setloc): Convert "loc" param from "int" to
	"location_t".
	(emit_jump_insn_before_setloc): Likewise.
	(emit_call_insn_before_setloc): Likewise.
	(emit_debug_insn_before_setloc): Strengthen "before" param from rtx to
	rtx_insn *.  Convert "loc" param from "int" to "location_t".
	* rtl.h (emit_insn_before_setloc, emit_jump_insn_before_setloc,
	emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
	Convert 3rd param from "int" to "location_t".
	(emit_barrier_before, emit_barrier_after, next_real_insn):
	Strengthen param from rtx to rtx_insn *.
	(emit_label_before): Strengthen 1st param from "rtx" to
	"rtx_code_label *".  Strengthen 2nd param from "rtx" to
	"rtx_insn *".
	(emit_insn_after_noloc, emit_jump_insn_after_noloc,
	emit_call_insn_after_noloc, emit_debug_insn_after_noloc):
	Strengthen 2nd param from "rtx" to "rtx_insn *".
	(emit_insn_after_setloc, emit_jump_insn_after_setloc)
	emit_call_insn_after_setloc, emit_debug_insn_after_setloc):
	Likewise. Convert 3rd param from "int" to "location_t".
	(emit_label_after): Strengthen 1st param from "rtx" to
	"rtx_code_label *".
	(next_real_insn, remove_insn): Strengthen param from "rtx" to
	"rtx_insn *".
	(add_insn_before, add_insn_after): Strengthen 1st and 2nd params
	from "rtx" to "rtx_insn *".

From-SVN: r261547
parent b4da704c
2018-06-13 David Malcolm <dmalcolm@redhat.com>
* config/arc/arc.c (hwloop_optimize): Strengthen local "end_label"
from rtx to rtx_insn *.
* config/bfin/bfin.c (hwloop_optimize): Likewise for local
"label".
(add_sched_insns_for_speculation): Likewise for local "target",
converting usage of JUMP_LABEL to JUMP_LABEL_AS_INSN.
* config/c6x/c6x.c (reorg_split_calls): Strengthen param "call_labels"
from rtx_insn ** to rtx_code_label **.
(reorg_emit_nops): Likewise.
(c6x_reorg): Likewise for local "call_labels".
* config/sh/sh-protos.h (get_dest_uid): Strengthen 1st param from
rtx to rtx_insn *.
* config/sh/sh.c (dump_table): Strengthen local "lab" from rtx to
rtx_code_label *, adding safe_as_a <rtx_code_label *> casts to
the loops over LABEL_REFS.
(fixup_addr_diff_vecs): Add as_a <rtx_insn *> to usage of
braf_label.
(barrier_align): Convert usage of JUMP_LABEL to JUMP_LABEL_AS_INSN.
(get_dest_uid): Strengthen param "label" from rtx to rtx_insn *.
(split_branches): Strengthen local "olabel" from rtx to
rtx_insn *, adding a safe_as_a cast.
* emit-rtl.c (next_real_insn): Strengthen param from "rtx"
to "rtx_insn *".
(add_insn_after): Likewise for first two params.
(add_insn_before): Likewise.
(remove_insn): Likewise for param.
(emit_pattern_before_noloc): Likewise for second and third params.
(emit_jump_insn_before_noloc): Convert NULL_RTX to NULL.
(emit_call_insn_before_noloc): Likewise.
(emit_debug_insn_before_noloc): Strengthen "before" param from "rtx"
to "rtx_insn *".
(emit_barrier_before): Likewise.
(emit_label_before): Strengthen "label" param from "rtx" to
"rtx_code_label *". Strengthen "before" param from "rtx" to
"rtx_insn *".
(emit_insn_after_1): Strengthen "after" param from "rtx" to
"rtx_insn *".
(emit_pattern_after_noloc): Likewise.
(emit_insn_after_noloc): Likewise.
(emit_jump_insn_after_noloc): Likewise.
(emit_call_insn_after_noloc): Likewise.
(emit_debug_insn_after_noloc): Likewise.
(emit_barrier_after): Likewise.
(emit_label_after): Likewise for both params.
(emit_pattern_after_setloc): Likewise for "after" param. Convert
"loc" param from "int" to "location_t".
(emit_insn_after_setloc): Likewise.
(emit_jump_insn_after_setloc): Likewise.
(emit_call_insn_after_setloc): Likewise.
(emit_debug_insn_after_setloc): Likewise.
(emit_pattern_before_setloc): Likewise for "before" param. Convert
"loc" param from "int" to "location_t".
(emit_pattern_before): Convert NULL_RTX to NULL.
(emit_insn_before_setloc): Convert "loc" param from "int" to
"location_t".
(emit_jump_insn_before_setloc): Likewise.
(emit_call_insn_before_setloc): Likewise.
(emit_debug_insn_before_setloc): Strengthen "before" param from rtx to
rtx_insn *. Convert "loc" param from "int" to "location_t".
* rtl.h (emit_insn_before_setloc, emit_jump_insn_before_setloc,
emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
Convert 3rd param from "int" to "location_t".
(emit_barrier_before, emit_barrier_after, next_real_insn):
Strengthen param from rtx to rtx_insn *.
(emit_label_before): Strengthen 1st param from "rtx" to
"rtx_code_label *". Strengthen 2nd param from "rtx" to
"rtx_insn *".
(emit_insn_after_noloc, emit_jump_insn_after_noloc,
emit_call_insn_after_noloc, emit_debug_insn_after_noloc):
Strengthen 2nd param from "rtx" to "rtx_insn *".
(emit_insn_after_setloc, emit_jump_insn_after_setloc)
emit_call_insn_after_setloc, emit_debug_insn_after_setloc):
Likewise. Convert 3rd param from "int" to "location_t".
(emit_label_after): Strengthen 1st param from "rtx" to
"rtx_code_label *".
(next_real_insn, remove_insn): Strengthen param from "rtx" to
"rtx_insn *".
(add_insn_before, add_insn_after): Strengthen 1st and 2nd params
from "rtx" to "rtx_insn *".
2018-06-13 Jan Hubicka <hubicka@gcc.gnu.org> 2018-06-13 Jan Hubicka <hubicka@gcc.gnu.org>
* cgraph.c (cgraph_node::get_untransformed_body): Dump function * cgraph.c (cgraph_node::get_untransformed_body): Dump function
......
...@@ -7306,8 +7306,8 @@ hwloop_optimize (hwloop_info loop) ...@@ -7306,8 +7306,8 @@ hwloop_optimize (hwloop_info loop)
int i; int i;
edge entry_edge; edge entry_edge;
basic_block entry_bb, bb; basic_block entry_bb, bb;
rtx iter_reg, end_label; rtx iter_reg;
rtx_insn *insn, *seq, *entry_after, *last_insn; rtx_insn *insn, *seq, *entry_after, *last_insn, *end_label;
unsigned int length; unsigned int length;
bool need_fix = false; bool need_fix = false;
rtx lp_reg = gen_rtx_REG (SImode, LP_COUNT); rtx lp_reg = gen_rtx_REG (SImode, LP_COUNT);
......
...@@ -3773,7 +3773,7 @@ hwloop_optimize (hwloop_info loop) ...@@ -3773,7 +3773,7 @@ hwloop_optimize (hwloop_info loop)
point. */ point. */
if (!loop->incoming_src && loop->head != loop->incoming_dest) if (!loop->incoming_src && loop->head != loop->incoming_dest)
{ {
rtx label = BB_HEAD (loop->incoming_dest); rtx_insn *label = BB_HEAD (loop->incoming_dest);
/* If we're jumping to the final basic block in the loop, and there's /* If we're jumping to the final basic block in the loop, and there's
only one cheap instruction before the end (typically an increment of only one cheap instruction before the end (typically an increment of
an induction variable), we can just emit a copy here instead of a an induction variable), we can just emit a copy here instead of a
...@@ -4607,7 +4607,7 @@ add_sched_insns_for_speculation (void) ...@@ -4607,7 +4607,7 @@ add_sched_insns_for_speculation (void)
&& any_condjump_p (insn) && any_condjump_p (insn)
&& (cbranch_predicted_taken_p (insn))) && (cbranch_predicted_taken_p (insn)))
{ {
rtx target = JUMP_LABEL (insn); rtx_insn *target = JUMP_LABEL_AS_INSN (insn);
rtx_insn *next = next_real_insn (target); rtx_insn *next = next_real_insn (target);
if (GET_CODE (PATTERN (next)) == UNSPEC_VOLATILE if (GET_CODE (PATTERN (next)) == UNSPEC_VOLATILE
......
...@@ -4835,7 +4835,7 @@ find_last_same_clock (rtx_insn *insn) ...@@ -4835,7 +4835,7 @@ find_last_same_clock (rtx_insn *insn)
the SEQUENCEs that represent execute packets. */ the SEQUENCEs that represent execute packets. */
static void static void
reorg_split_calls (rtx_insn **call_labels) reorg_split_calls (rtx_code_label **call_labels)
{ {
unsigned int reservation_mask = 0; unsigned int reservation_mask = 0;
rtx_insn *insn = get_insns (); rtx_insn *insn = get_insns ();
...@@ -5009,7 +5009,7 @@ reorg_split_calls (rtx_insn **call_labels) ...@@ -5009,7 +5009,7 @@ reorg_split_calls (rtx_insn **call_labels)
scheduling was run earlier. */ scheduling was run earlier. */
static void static void
reorg_emit_nops (rtx_insn **call_labels) reorg_emit_nops (rtx_code_label **call_labels)
{ {
bool first; bool first;
rtx last_call; rtx last_call;
...@@ -5947,7 +5947,7 @@ c6x_reorg (void) ...@@ -5947,7 +5947,7 @@ c6x_reorg (void)
} }
sched_no_dce = false; sched_no_dce = false;
rtx_insn **call_labels = XCNEWVEC (rtx_insn *, get_max_uid () + 1); rtx_code_label **call_labels = XCNEWVEC (rtx_code_label *, get_max_uid () + 1);
reorg_split_calls (call_labels); reorg_split_calls (call_labels);
......
...@@ -88,7 +88,7 @@ extern int shl_sext_length (rtx); ...@@ -88,7 +88,7 @@ extern int shl_sext_length (rtx);
extern bool gen_shl_sext (rtx, rtx, rtx, rtx); extern bool gen_shl_sext (rtx, rtx, rtx, rtx);
extern int regs_used (rtx, int); extern int regs_used (rtx, int);
extern void fixup_addr_diff_vecs (rtx_insn *); extern void fixup_addr_diff_vecs (rtx_insn *);
extern int get_dest_uid (rtx, int); extern int get_dest_uid (rtx_insn *, int);
extern void final_prescan_insn (rtx_insn *, rtx *, int); extern void final_prescan_insn (rtx_insn *, rtx *, int);
extern enum tls_model tls_symbolic_operand (rtx, machine_mode); extern enum tls_model tls_symbolic_operand (rtx, machine_mode);
extern bool system_reg_operand (rtx, machine_mode); extern bool system_reg_operand (rtx, machine_mode);
......
...@@ -4583,7 +4583,7 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4583,7 +4583,7 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
{ {
rtx_insn *scan = barrier; rtx_insn *scan = barrier;
bool need_align = true; bool need_align = true;
rtx lab; rtx_code_label *lab;
label_ref_list_t ref; label_ref_list_t ref;
bool have_df = false; bool have_df = false;
...@@ -4600,7 +4600,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4600,7 +4600,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
scan = emit_insn_after (gen_align_2 (), scan); scan = emit_insn_after (gen_align_2 (), scan);
need_align = false; need_align = false;
} }
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab;
lab = safe_as_a <rtx_code_label *> (LABEL_REFS (lab)))
scan = emit_label_after (lab, scan); scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_2 (p->value, const0_rtx), scan = emit_insn_after (gen_consttable_2 (p->value, const0_rtx),
scan); scan);
...@@ -4627,7 +4628,7 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4627,7 +4628,7 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
rtx src = SET_SRC (XVECEXP (PATTERN (start), 0, 0)); rtx src = SET_SRC (XVECEXP (PATTERN (start), 0, 0));
rtx lab = XEXP (XVECEXP (src, 0, 3), 0); rtx lab = XEXP (XVECEXP (src, 0, 3), 0);
scan = emit_label_after (lab, scan); scan = emit_label_after (as_a <rtx_insn *> (lab), scan);
} }
} }
if (TARGET_FMOVD && TARGET_ALIGN_DOUBLE && have_df) if (TARGET_FMOVD && TARGET_ALIGN_DOUBLE && have_df)
...@@ -4650,7 +4651,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4650,7 +4651,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
case E_SFmode: case E_SFmode:
if (align_insn && !p->part_of_sequence_p) if (align_insn && !p->part_of_sequence_p)
{ {
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab;
lab = safe_as_a <rtx_code_label *> (LABEL_REFS (lab)))
emit_label_before (lab, align_insn); emit_label_before (lab, align_insn);
emit_insn_before (gen_consttable_4 (p->value, const0_rtx), emit_insn_before (gen_consttable_4 (p->value, const0_rtx),
align_insn); align_insn);
...@@ -4666,7 +4668,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4666,7 +4668,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
} }
else else
{ {
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab;
lab = safe_as_a <rtx_code_label *> (LABEL_REFS (lab)))
scan = emit_label_after (lab, scan); scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_4 (p->value, scan = emit_insn_after (gen_consttable_4 (p->value,
const0_rtx), scan); const0_rtx), scan);
...@@ -4682,7 +4685,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4682,7 +4685,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
} }
/* FALLTHRU */ /* FALLTHRU */
case E_DImode: case E_DImode:
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab;
lab = safe_as_a <rtx_code_label *> (LABEL_REFS (lab)))
scan = emit_label_after (lab, scan); scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx), scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx),
scan); scan);
...@@ -4721,7 +4725,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4721,7 +4725,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
scan = emit_label_after (gen_label_rtx (), scan); scan = emit_label_after (gen_label_rtx (), scan);
scan = emit_insn_after (gen_align_4 (), scan); scan = emit_insn_after (gen_align_4 (), scan);
} }
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab;
lab = safe_as_a <rtx_code_label *> (LABEL_REFS (lab)))
scan = emit_label_after (lab, scan); scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_4 (p->value, const0_rtx), scan = emit_insn_after (gen_consttable_4 (p->value, const0_rtx),
scan); scan);
...@@ -4734,7 +4739,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier) ...@@ -4734,7 +4739,8 @@ dump_table (rtx_insn *start, rtx_insn *barrier)
scan = emit_label_after (gen_label_rtx (), scan); scan = emit_label_after (gen_label_rtx (), scan);
scan = emit_insn_after (gen_align_4 (), scan); scan = emit_insn_after (gen_align_4 (), scan);
} }
for (lab = p->label; lab; lab = LABEL_REFS (lab)) for (lab = p->label; lab;
lab = safe_as_a <rtx_code_label *> (LABEL_REFS (lab)))
scan = emit_label_after (lab, scan); scan = emit_label_after (lab, scan);
scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx), scan = emit_insn_after (gen_consttable_8 (p->value, const0_rtx),
scan); scan);
...@@ -5706,7 +5712,7 @@ fixup_addr_diff_vecs (rtx_insn *first) ...@@ -5706,7 +5712,7 @@ fixup_addr_diff_vecs (rtx_insn *first)
/* Emit the reference label of the braf where it belongs, right after /* Emit the reference label of the braf where it belongs, right after
the casesi_jump_2 (i.e. braf). */ the casesi_jump_2 (i.e. braf). */
braf_label = XEXP (XEXP (SET_SRC (XVECEXP (prevpat, 0, 0)), 1), 0); braf_label = XEXP (XEXP (SET_SRC (XVECEXP (prevpat, 0, 0)), 1), 0);
emit_label_after (braf_label, prev); emit_label_after (as_a <rtx_insn *> (braf_label), prev);
/* Fix up the ADDR_DIF_VEC to be relative /* Fix up the ADDR_DIF_VEC to be relative
to the reference address of the braf. */ to the reference address of the braf. */
...@@ -5810,7 +5816,7 @@ barrier_align (rtx_insn *barrier_or_label) ...@@ -5810,7 +5816,7 @@ barrier_align (rtx_insn *barrier_or_label)
{ {
rtx_insn *x; rtx_insn *x;
if (jump_to_next if (jump_to_next
|| next_real_insn (JUMP_LABEL (prev)) == next || next_real_insn (JUMP_LABEL_AS_INSN (prev)) == next
/* If relax_delay_slots() decides NEXT was redundant /* If relax_delay_slots() decides NEXT was redundant
with some previous instruction, it will have with some previous instruction, it will have
redirected PREV's jump to the following insn. */ redirected PREV's jump to the following insn. */
...@@ -6310,7 +6316,7 @@ sh_reorg (void) ...@@ -6310,7 +6316,7 @@ sh_reorg (void)
/* Return the UID of the insn that follows the specified label. */ /* Return the UID of the insn that follows the specified label. */
int int
get_dest_uid (rtx label, int max_uid) get_dest_uid (rtx_insn *label, int max_uid)
{ {
rtx_insn *dest = next_real_insn (label); rtx_insn *dest = next_real_insn (label);
...@@ -6370,7 +6376,7 @@ split_branches (rtx_insn *first) ...@@ -6370,7 +6376,7 @@ split_branches (rtx_insn *first)
if (get_attr_length (insn) > 4) if (get_attr_length (insn) > 4)
{ {
rtx src = SET_SRC (PATTERN (insn)); rtx src = SET_SRC (PATTERN (insn));
rtx olabel = XEXP (XEXP (src, 1), 0); rtx_insn *olabel = safe_as_a <rtx_insn *> (XEXP (XEXP (src, 1), 0));
int addr = INSN_ADDRESSES (INSN_UID (insn)); int addr = INSN_ADDRESSES (INSN_UID (insn));
rtx_insn *label = 0; rtx_insn *label = 0;
int dest_uid = get_dest_uid (olabel, max_uid); int dest_uid = get_dest_uid (olabel, max_uid);
......
...@@ -3216,33 +3216,34 @@ extern void decide_function_section (tree); ...@@ -3216,33 +3216,34 @@ extern void decide_function_section (tree);
/* In emit-rtl.c */ /* In emit-rtl.c */
extern rtx_insn *emit_insn_before (rtx, rtx); extern rtx_insn *emit_insn_before (rtx, rtx);
extern rtx_insn *emit_insn_before_noloc (rtx, rtx_insn *, basic_block); extern rtx_insn *emit_insn_before_noloc (rtx, rtx_insn *, basic_block);
extern rtx_insn *emit_insn_before_setloc (rtx, rtx_insn *, int); extern rtx_insn *emit_insn_before_setloc (rtx, rtx_insn *, location_t);
extern rtx_jump_insn *emit_jump_insn_before (rtx, rtx); extern rtx_jump_insn *emit_jump_insn_before (rtx, rtx);
extern rtx_jump_insn *emit_jump_insn_before_noloc (rtx, rtx_insn *); extern rtx_jump_insn *emit_jump_insn_before_noloc (rtx, rtx_insn *);
extern rtx_jump_insn *emit_jump_insn_before_setloc (rtx, rtx_insn *, int); extern rtx_jump_insn *emit_jump_insn_before_setloc (rtx, rtx_insn *,
location_t);
extern rtx_insn *emit_call_insn_before (rtx, rtx_insn *); extern rtx_insn *emit_call_insn_before (rtx, rtx_insn *);
extern rtx_insn *emit_call_insn_before_noloc (rtx, rtx_insn *); extern rtx_insn *emit_call_insn_before_noloc (rtx, rtx_insn *);
extern rtx_insn *emit_call_insn_before_setloc (rtx, rtx_insn *, int); extern rtx_insn *emit_call_insn_before_setloc (rtx, rtx_insn *, location_t);
extern rtx_insn *emit_debug_insn_before (rtx, rtx_insn *); extern rtx_insn *emit_debug_insn_before (rtx, rtx_insn *);
extern rtx_insn *emit_debug_insn_before_noloc (rtx, rtx); extern rtx_insn *emit_debug_insn_before_noloc (rtx, rtx);
extern rtx_insn *emit_debug_insn_before_setloc (rtx, rtx, int); extern rtx_insn *emit_debug_insn_before_setloc (rtx, rtx_insn *, location_t);
extern rtx_barrier *emit_barrier_before (rtx); extern rtx_barrier *emit_barrier_before (rtx_insn *);
extern rtx_code_label *emit_label_before (rtx, rtx_insn *); extern rtx_code_label *emit_label_before (rtx_code_label *, rtx_insn *);
extern rtx_note *emit_note_before (enum insn_note, rtx_insn *); extern rtx_note *emit_note_before (enum insn_note, rtx_insn *);
extern rtx_insn *emit_insn_after (rtx, rtx); extern rtx_insn *emit_insn_after (rtx, rtx);
extern rtx_insn *emit_insn_after_noloc (rtx, rtx, basic_block); extern rtx_insn *emit_insn_after_noloc (rtx, rtx_insn *, basic_block);
extern rtx_insn *emit_insn_after_setloc (rtx, rtx, int); extern rtx_insn *emit_insn_after_setloc (rtx, rtx_insn *, location_t);
extern rtx_jump_insn *emit_jump_insn_after (rtx, rtx); extern rtx_jump_insn *emit_jump_insn_after (rtx, rtx);
extern rtx_jump_insn *emit_jump_insn_after_noloc (rtx, rtx); extern rtx_jump_insn *emit_jump_insn_after_noloc (rtx, rtx_insn *);
extern rtx_jump_insn *emit_jump_insn_after_setloc (rtx, rtx, int); extern rtx_jump_insn *emit_jump_insn_after_setloc (rtx, rtx_insn *, location_t);
extern rtx_insn *emit_call_insn_after (rtx, rtx); extern rtx_insn *emit_call_insn_after (rtx, rtx);
extern rtx_insn *emit_call_insn_after_noloc (rtx, rtx); extern rtx_insn *emit_call_insn_after_noloc (rtx, rtx_insn *);
extern rtx_insn *emit_call_insn_after_setloc (rtx, rtx, int); extern rtx_insn *emit_call_insn_after_setloc (rtx, rtx_insn *, location_t);
extern rtx_insn *emit_debug_insn_after (rtx, rtx); extern rtx_insn *emit_debug_insn_after (rtx, rtx);
extern rtx_insn *emit_debug_insn_after_noloc (rtx, rtx); extern rtx_insn *emit_debug_insn_after_noloc (rtx, rtx_insn *);
extern rtx_insn *emit_debug_insn_after_setloc (rtx, rtx, int); extern rtx_insn *emit_debug_insn_after_setloc (rtx, rtx_insn *, location_t);
extern rtx_barrier *emit_barrier_after (rtx); extern rtx_barrier *emit_barrier_after (rtx_insn *);
extern rtx_insn *emit_label_after (rtx, rtx_insn *); extern rtx_insn *emit_label_after (rtx_insn *, rtx_insn *);
extern rtx_note *emit_note_after (enum insn_note, rtx_insn *); extern rtx_note *emit_note_after (enum insn_note, rtx_insn *);
extern rtx_insn *emit_insn (rtx); extern rtx_insn *emit_insn (rtx);
extern rtx_insn *emit_debug_insn (rtx); extern rtx_insn *emit_debug_insn (rtx);
...@@ -3271,7 +3272,7 @@ extern rtx_insn *prev_nonnote_nondebug_insn_bb (rtx_insn *); ...@@ -3271,7 +3272,7 @@ extern rtx_insn *prev_nonnote_nondebug_insn_bb (rtx_insn *);
extern rtx_insn *next_nonnote_nondebug_insn (rtx_insn *); extern rtx_insn *next_nonnote_nondebug_insn (rtx_insn *);
extern rtx_insn *next_nonnote_nondebug_insn_bb (rtx_insn *); extern rtx_insn *next_nonnote_nondebug_insn_bb (rtx_insn *);
extern rtx_insn *prev_real_insn (rtx_insn *); extern rtx_insn *prev_real_insn (rtx_insn *);
extern rtx_insn *next_real_insn (rtx); extern rtx_insn *next_real_insn (rtx_insn *);
extern rtx_insn *prev_real_nondebug_insn (rtx_insn *); extern rtx_insn *prev_real_nondebug_insn (rtx_insn *);
extern rtx_insn *next_real_nondebug_insn (rtx); extern rtx_insn *next_real_nondebug_insn (rtx);
extern rtx_insn *prev_active_insn (rtx_insn *); extern rtx_insn *prev_active_insn (rtx_insn *);
...@@ -3963,9 +3964,9 @@ extern void unshare_all_rtl_again (rtx_insn *); ...@@ -3963,9 +3964,9 @@ extern void unshare_all_rtl_again (rtx_insn *);
extern void unshare_all_rtl_in_chain (rtx_insn *); extern void unshare_all_rtl_in_chain (rtx_insn *);
extern void verify_rtl_sharing (void); extern void verify_rtl_sharing (void);
extern void add_insn (rtx_insn *); extern void add_insn (rtx_insn *);
extern void add_insn_before (rtx, rtx, basic_block); extern void add_insn_before (rtx_insn *, rtx_insn *, basic_block);
extern void add_insn_after (rtx, rtx, basic_block); extern void add_insn_after (rtx_insn *, rtx_insn *, basic_block);
extern void remove_insn (rtx); extern void remove_insn (rtx_insn *);
extern rtx_insn *emit (rtx, bool = true); extern rtx_insn *emit (rtx, bool = true);
extern void emit_insn_at_entry (rtx); extern void emit_insn_at_entry (rtx);
extern rtx gen_lowpart_SUBREG (machine_mode, rtx); extern rtx gen_lowpart_SUBREG (machine_mode, rtx);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment