All in-tree users of "final" now pass in an rtx_insn * for the first
param.
gcc/
* output.h (final): Strengthen param 1 from rtx to rtx_insn *.
* final.c (final): Likewise. Rename param back from
"uncast_first" to "first" and eliminate the checked cast from rtx
to rtx_insn *.
---
gcc/final.c | 3 +--
gcc/output.h | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/gcc/final.c b/gcc/final.c
index 0ef0bbb..6937d0d 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -1958,9 +1958,8 @@ dump_basic_block_info (FILE *file, rtx_insn *insn,
basic_block *start_to_bb,
For description of args, see `final_start_function', above. */
void
-final (rtx uncast_first, FILE *file, int optimize_p)
+final (rtx_insn *first, FILE *file, int optimize_p)
{
- rtx_insn *first = as_a_nullable <rtx_insn *> (uncast_first);
rtx_insn *insn, *next;
int seen = 0;
diff --git a/gcc/output.h b/gcc/output.h
index 05e7666..b4c8c47 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -65,7 +65,7 @@ extern void final_start_function (rtx, FILE *, int);
extern void final_end_function (void);
/* Output assembler code for some insns: all or part of a function. */
-extern void final (rtx, FILE *, int);
+extern void final (rtx_insn *, FILE *, int);
/* The final scan for one insn, INSN. Args are same as in `final', except
that INSN is the insn being scanned. Value returned is the next insn to
--
1.8.5.3