From: Trevor Saunders <[email protected]>
Callers already pass an rtx_call_insn *, an emit result, or a note.
No new cast.
gcc/ChangeLog:
* config/arm/aarch-bti-insert.cc (call_needs_bti_j): Take an
rtx_call_insn *.
* sched-deps.cc (call_may_noreturn_p): Likewise.
* ira-lives.cc (find_call_crossed_cheap_reg): Likewise.
* dse.cc (get_call_args): Likewise.
* cse.cc (invalidate_for_call): Likewise.
* var-tracking.cc (prepare_call_arguments): Likewise.
(reemit_marker_as_note): Return an rtx_note *.
* early-remat.cc (early_remat::restrict_remat_for_call): Take an
rtx_call_insn *.
(remat_block_info, early_remat::process_block): Record the last
call as an rtx_call_insn *.
* config/i386/i386-expand.cc (ix86_expand_strlensi_unroll_1,
ix86_expand_sse_compare_and_jump): Keep the emitted jump in an
rtx_insn *.
* config/i386/i386.md
(@x86_shift<mode>_adj_2, @x86_shift<mode>_adj_3): Likewise.
* config/pa/pa.cc (pa_combine_instructions): Keep the emitted
jump in an rtx_jump_insn *.
* valtrack.cc (dead_debug_insert_temp): Keep the debug insn in
an rtx_insn *.
Signed-off-by: Trevor Saunders <[email protected]>
---
gcc/config/arm/aarch-bti-insert.cc | 2 +-
gcc/config/i386/i386-expand.cc | 8 ++++----
gcc/config/i386/i386.md | 8 ++++----
gcc/config/pa/pa.cc | 8 ++++----
gcc/cse.cc | 2 +-
gcc/dse.cc | 2 +-
gcc/early-remat.cc | 8 ++++----
gcc/ira-lives.cc | 2 +-
gcc/sched-deps.cc | 2 +-
gcc/valtrack.cc | 7 ++++---
gcc/var-tracking.cc | 4 ++--
11 files changed, 27 insertions(+), 26 deletions(-)
diff --git a/gcc/config/arm/aarch-bti-insert.cc
b/gcc/config/arm/aarch-bti-insert.cc
index 9b89f3023f8..6998b09b46e 100644
--- a/gcc/config/arm/aarch-bti-insert.cc
+++ b/gcc/config/arm/aarch-bti-insert.cc
@@ -94,7 +94,7 @@ const pass_data pass_data_insert_bti =
/* Decide if BTI J is needed after a call instruction. */
static bool
-call_needs_bti_j (rtx_insn *insn)
+call_needs_bti_j (rtx_call_insn *insn)
{
/* Call returns twice, one of which may be indirect. */
if (find_reg_note (insn, REG_SETJMP, NULL))
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index c02e7128b9d..4980a04fdaf 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -11308,8 +11308,8 @@ ix86_expand_strlensi_unroll_1 (rtx out, rtx src, rtx
align_rtx)
tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
gen_rtx_LABEL_REF (VOIDmode, end_2_label),
pc_rtx);
- tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
- JUMP_LABEL (tmp) = end_2_label;
+ rtx_insn *jump = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
+ JUMP_LABEL (jump) = end_2_label;
/* Not in the first two. Move two bytes forward. */
emit_insn (gen_lshrsi3 (tmpreg, tmpreg, GEN_INT (16)));
@@ -22853,8 +22853,8 @@ ix86_expand_sse_compare_and_jump (enum rtx_code code,
rtx op0, rtx op1,
tmp = gen_rtx_fmt_ee (code, VOIDmode, reg, const0_rtx);
tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
gen_rtx_LABEL_REF (VOIDmode, label), pc_rtx);
- tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
- JUMP_LABEL (tmp) = label;
+ rtx_insn *jump = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
+ JUMP_LABEL (jump) = label;
return label;
}
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 005938c506f..2d2e620713f 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -17099,8 +17099,8 @@
tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
gen_rtx_LABEL_REF (VOIDmode, label),
pc_rtx);
- tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
- JUMP_LABEL (tmp) = label;
+ rtx_insn *jump = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
+ JUMP_LABEL (jump) = label;
emit_move_insn (operands[0], operands[1]);
ix86_expand_clear (operands[1]);
@@ -18501,8 +18501,8 @@
tmp = gen_rtx_IF_THEN_ELSE (VOIDmode, tmp,
gen_rtx_LABEL_REF (VOIDmode, label),
pc_rtx);
- tmp = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
- JUMP_LABEL (tmp) = label;
+ rtx_insn *jump = emit_jump_insn (gen_rtx_SET (pc_rtx, tmp));
+ JUMP_LABEL (jump) = label;
emit_move_insn (operands[0], operands[1]);
emit_insn (gen_ashr<mode>3_cvt (operands[1], operands[1],
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index 6586cbdf7ea..1bf30c86ee2 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -9834,15 +9834,15 @@ pa_combine_instructions (void)
/* Emit the new_jump instruction and delete the old anchor. */
rtvec vtemp = gen_rtvec (2, copy_rtx (PATTERN (anchor)),
copy_rtx (PATTERN (floater)));
- rtx temp = gen_rtx_PARALLEL (VOIDmode, vtemp);
- temp = emit_jump_insn_before (temp, anchor);
+ rtx body = gen_rtx_PARALLEL (VOIDmode, vtemp);
+ rtx_jump_insn *insn = emit_jump_insn_before (body, anchor);
- JUMP_LABEL (temp) = JUMP_LABEL (anchor);
+ JUMP_LABEL (insn) = JUMP_LABEL (anchor);
SET_INSN_DELETED (anchor);
/* Emit a special USE insn for FLOATER, then delete
the floating insn. */
- temp = copy_rtx (PATTERN (floater));
+ rtx temp = copy_rtx (PATTERN (floater));
emit_insn_before (gen_rtx_USE (VOIDmode, temp), floater);
delete_insn (floater);
continue;
diff --git a/gcc/cse.cc b/gcc/cse.cc
index b75bdb4612f..c593f4ab809 100644
--- a/gcc/cse.cc
+++ b/gcc/cse.cc
@@ -2104,7 +2104,7 @@ rehash_using_reg (rtx x)
register in INSN. Also update their TICK values. */
static void
-invalidate_for_call (rtx_insn *insn)
+invalidate_for_call (rtx_call_insn *insn)
{
unsigned int regno;
unsigned hash;
diff --git a/gcc/dse.cc b/gcc/dse.cc
index 7c0d90e2f7a..87a71eaa7cd 100644
--- a/gcc/dse.cc
+++ b/gcc/dse.cc
@@ -2435,7 +2435,7 @@ check_mem_read_use (rtx *loc, void *data)
So far it only handles arguments passed in registers. */
static bool
-get_call_args (rtx_insn *call_insn, tree fn, rtx *args, int nargs)
+get_call_args (rtx_call_insn *call_insn, tree fn, rtx *args, int nargs)
{
CUMULATIVE_ARGS args_so_far_v;
cumulative_args_t args_so_far;
diff --git a/gcc/early-remat.cc b/gcc/early-remat.cc
index 033a2f5e52d..8ff6223b7fe 100644
--- a/gcc/early-remat.cc
+++ b/gcc/early-remat.cc
@@ -248,7 +248,7 @@ const unsigned int MULTIPLE_CANDIDATES = -1U;
/* Pass-specific information about one basic block. */
struct remat_block_info {
/* The last call instruction in the block. */
- rtx_insn *last_call;
+ rtx_call_insn *last_call;
/* The set of candidates that are live on entry to the block. NULL is
equivalent to an empty set. */
@@ -438,7 +438,7 @@ private:
void assign_value_number (unsigned int);
void decide_candidate_validity (void);
void restrict_remat_for_unavail_regs (bitmap, const_bitmap);
- void restrict_remat_for_call (bitmap, rtx_insn *);
+ void restrict_remat_for_call (bitmap, rtx_call_insn *);
bool stable_use_p (unsigned int);
void emit_copy_before (unsigned int, rtx, rtx);
void stabilize_pattern (unsigned int);
@@ -1544,7 +1544,7 @@ early_remat::restrict_remat_for_unavail_regs (bitmap
candidates,
that is potentially live across CALL. */
void
-early_remat::restrict_remat_for_call (bitmap candidates, rtx_insn *call)
+early_remat::restrict_remat_for_call (bitmap candidates, rtx_call_insn *call)
{
/* We don't know whether partially-clobbered registers are live
across the call or not, so assume that they are. */
@@ -1926,7 +1926,7 @@ void
early_remat::process_block (basic_block bb)
{
remat_block_info *info = &m_block_info[bb->index];
- rtx_insn *last_call = NULL;
+ rtx_call_insn *last_call = NULL;
rtx_insn *insn;
/* Ensure that we always use the same candidate index to refer to an
diff --git a/gcc/ira-lives.cc b/gcc/ira-lives.cc
index 984cb91e7fa..8dd2756364d 100644
--- a/gcc/ira-lives.cc
+++ b/gcc/ira-lives.cc
@@ -1246,7 +1246,7 @@ process_dependent_filters ()
we find a SET rtx that we can use to deduce that a register can be cheaply
caller-saved. Return such a register, or NULL_RTX if none is found. */
static rtx
-find_call_crossed_cheap_reg (rtx_insn *insn)
+find_call_crossed_cheap_reg (rtx_call_insn *insn)
{
rtx cheap_reg = NULL_RTX;
rtx exp = CALL_INSN_FUNCTION_USAGE (insn);
diff --git a/gcc/sched-deps.cc b/gcc/sched-deps.cc
index 46a500b2951..2a50154ab76 100644
--- a/gcc/sched-deps.cc
+++ b/gcc/sched-deps.cc
@@ -3685,7 +3685,7 @@ sched_analyze_insn (class deps_desc *deps, rtx x,
rtx_insn *insn)
/* FIXME: Why can't this function just use flags_from_decl_or_type and
test for ECF_NORETURN? */
static bool
-call_may_noreturn_p (rtx_insn *insn)
+call_may_noreturn_p (rtx_call_insn *insn)
{
rtx call;
diff --git a/gcc/valtrack.cc b/gcc/valtrack.cc
index 9f6b0f7024c..497e3d0030d 100644
--- a/gcc/valtrack.cc
+++ b/gcc/valtrack.cc
@@ -750,14 +750,15 @@ dead_debug_insert_temp (struct dead_debug_local *debug,
unsigned int uregno,
DEBUG_EXPR_TREE_DECL (dval), breg,
VAR_INIT_STATUS_INITIALIZED);
+ rtx_insn *bind_insn;
if (where == DEBUG_TEMP_AFTER_WITH_REG
|| where == DEBUG_TEMP_AFTER_WITH_REG_FORCE)
- bind = emit_debug_insn_after (bind, insn);
+ bind_insn = emit_debug_insn_after (bind, insn);
else
- bind = emit_debug_insn_before (bind, insn);
+ bind_insn = emit_debug_insn_before (bind, insn);
if (debug->to_rescan == NULL)
debug->to_rescan = BITMAP_ALLOC (NULL);
- bitmap_set_bit (debug->to_rescan, INSN_UID (bind));
+ bitmap_set_bit (debug->to_rescan, INSN_UID (bind_insn));
/* Adjust all uses. */
while ((cur = uses))
diff --git a/gcc/var-tracking.cc b/gcc/var-tracking.cc
index b08043df4e0..273ca053f92 100644
--- a/gcc/var-tracking.cc
+++ b/gcc/var-tracking.cc
@@ -6253,7 +6253,7 @@ static rtx call_arguments;
/* Compute call_arguments. */
static void
-prepare_call_arguments (basic_block bb, rtx_insn *insn)
+prepare_call_arguments (basic_block bb, rtx_call_insn *insn)
{
rtx link, x, call;
rtx prev, cur, next;
@@ -10013,7 +10013,7 @@ vt_init_cfa_base (void)
/* Reemit INSN, a MARKER_DEBUG_INSN, as a note. */
-static rtx_insn *
+static rtx_note *
reemit_marker_as_note (rtx_insn *insn)
{
gcc_checking_assert (DEBUG_MARKER_INSN_P (insn));
--
2.53.0