extern void allocate_for_life_analysis PARAMS ((void));
extern int regno_uninitialized PARAMS ((int));
extern int regno_clobbered_at_setjmp PARAMS ((int));
-extern void dump_flow_info PARAMS ((FILE *));
extern void find_basic_blocks PARAMS ((rtx, int, FILE *));
-extern void cleanup_cfg PARAMS ((rtx));
-extern void free_basic_block_vars PARAMS ((int));
-extern void set_block_num PARAMS ((rtx, int));
+extern void cleanup_cfg PARAMS ((void));
+extern void check_function_return_warnings PARAMS ((void));
#endif
/* Functions in varasm.c. */
/* Tell assembler to switch to the section for the exception table. */
extern void exception_section PARAMS ((void));
-/* Create the rtl to represent a function, for a function definition.
- DECL is a FUNCTION_DECL node which describes which function.
- The rtl is stored into DECL. */
-extern void make_function_rtl PARAMS ((tree));
-
/* Declare DECL to be a weak symbol. */
extern void declare_weak PARAMS ((tree));
#endif /* TREE_CODE */
extern int decode_reg_name PARAMS ((const char *));
#ifdef TREE_CODE
-/* Create the DECL_RTL for a declaration for a static or external variable
- or static or external function.
- ASMSPEC, if not 0, is the string which the user specified
- as the assembler symbol name.
- TOP_LEVEL is nonzero if this is a file-scope variable.
-
- This is never called for PARM_DECL nodes. */
-extern void make_decl_rtl PARAMS ((tree, const char *, int));
-
/* Make the rtl for variable VAR be volatile.
Use this only for static variables. */
extern void make_var_volatile PARAMS ((tree));
/* Assemble an alignment pseudo op for an ALIGN-bit boundary. */
extern void assemble_align PARAMS ((int));
+extern void assemble_eh_align PARAMS ((int));
/* Assemble a string constant with the specified C string as contents. */
extern void assemble_string PARAMS ((const char *, int));
/* Assemble a label named NAME. */
extern void assemble_label PARAMS ((const char *));
+extern void assemble_eh_label PARAMS ((const char *));
/* Output to FILE a reference to the assembler name of a C-level name NAME.
If NAME starts with a *, the rest of NAME is output verbatim.
Return 1 if we were able to output the constant, otherwise 0. If FORCE is
non-zero, abort if we can't output the constant. */
extern int assemble_integer PARAMS ((rtx, int, int));
+extern int assemble_eh_integer PARAMS ((rtx, int, int));
-#ifdef EMUSHORT
+#ifdef REAL_VALUE_TYPE
/* Assemble the floating-point constant D into an object of size MODE. */
extern void assemble_real PARAMS ((REAL_VALUE_TYPE,
enum machine_mode));
extern void output_constant PARAMS ((tree, int));
#endif
-/* When outputting assembler code, indicates which alternative
- of the constraints was actually satisfied. */
-extern int which_alternative;
-
#ifdef RTX_CODE
/* When outputting delayed branch sequences, this rtx holds the
sequence being output. It is null when no delayed branch
extern rtx final_sequence;
#endif
-/* Nonzero means generate position-independent code.
- This is not fully implemented yet. */
-
-extern int flag_pic;
-
/* The line number of the beginning of the current function.
sdbout.c needs this so that it can output relative linenumbers. */
#ifdef BUFSIZ
extern FILE *asm_out_file;
#endif
+
+/* The first global object in the file. */
+extern const char *first_global_object_name;
+
+/* The first weak object in the file. */
+extern const char *weak_global_object_name;
+
/* Nonzero if function being compiled doesn't contain any calls
(ignoring the prologue and epilogue). This is set prior to
local register allocation and is valid for the remaining
#endif
/* Nonnull if the insn currently being emitted was a COND_EXEC pattern. */
-
extern struct rtx_def *current_insn_predicate;
+/* Last insn processed by final_scan_insn. */
+extern struct rtx_def *current_output_insn;
+
/* Decide whether DECL needs to be in a writable section. RELOC is the same
as for SELECT_SECTION. */
#define STRIP_NAME_ENCODING(VAR,SYMBOL_NAME) \
(VAR) = ((SYMBOL_NAME) + ((SYMBOL_NAME)[0] == '*'))
#endif
+/* Assign unique numbers to labels generated for profiling. */
+
+extern int profile_label_no;