(unwind_emit,
"",
void, (FILE *stream, rtx insn),
- default_unwind_emit)
+ NULL)
/* Output an internal label. */
DEFHOOK
void, (FILE *f),
NULL)
+DEFHOOK
+(output_source_filename,
+ "Output COFF information or DWARF debugging information which indicates\
+ that filename @var{name} is the current source file to the stdio\
+ stream @var{file}.\n\
+ \n\
+ This target hook need not be defined if the standard form of output\
+ for the file format in use is appropriate.",
+ void ,(FILE *file, const char *name),
+ default_asm_output_source_filename)
+
/* ??? The TARGET_PRINT_OPERAND* hooks are part of the asm_out struct,
even though that is not reflected in the macro name to override their
initializers. */
#define HOOK_PREFIX "TARGET_"
/* Emit a machine-specific insn operand. */
-/* ??? Documenting the argument types for this hook requires a GFDL
- license grant. Also, the documentation documents this as a macro,
- not a hook, and uses a different name for the hook argument FILE. */
+/* ??? tm.texi only documents the old macro PRINT_OPERAND,
+ not this hook, and uses a different name for the argument FILE. */
DEFHOOK_UNDOC
(print_operand,
"",
default_print_operand)
/* Emit a machine-specific memory address. */
-/* ??? Documenting the argument types for this hook requires a GFDL
- license grant. Also, the documentation documents this as a macro,
- not a hook, and uses different hook argument names. */
+/* ??? tm.texi only documents the old macro PRINT_OPERAND_ADDRESS,
+ not this hook, and uses different argument names. */
DEFHOOK_UNDOC
(print_operand_address,
"",
/* Determine whether CODE is a valid punctuation character for the
`print_operand' hook. */
-/* ??? Documenting the argument types for this hook requires a GFDL
- license grant. Also, the documentation documents this as a macro,
- not a hook. */
+/* ??? tm.texi only documents the old macro PRINT_OPERAND_PUNCT_VALID_P,
+ not this hook. */
DEFHOOK_UNDOC
(print_operand_punct_valid_p,
"",
verbose level of the debugging output. The forth and the fifth
parameter values are correspondingly processor cycle on which
the previous insn has been issued and the current processor cycle. */
-/* ??? The documentation uses different names for dump_file,
- last_sched_cycle and cur_cycle. */
-DEFHOOK_UNDOC
+DEFHOOK
(dfa_new_cycle,
"",
- int, (FILE *dump_file, int verbose, rtx insn, int last_sched_cycle,
- int cur_cycle, int *sort_p),
+ int, (FILE *dump, int verbose, rtx insn, int last_clock,
+ int clock, int *sort_p),
NULL)
/* The following member value is a pointer to a function called by the
"",
tree, (tree x), NULL)
-/* Cost of different vector/scalar statements in vectorization cost model. */
+/* Cost of different vector/scalar statements in vectorization cost
+ model. In case of misaligned vector loads and stores the cost depends
+ on the data type and misalignment value. */
DEFHOOK
(builtin_vectorization_cost,
"",
- int, (enum vect_cost_for_stmt type_of_cost),
+ int, (enum vect_cost_for_stmt type_of_cost, tree vectype, int misalign),
default_builtin_vectorization_cost)
/* Return true if vector alignment is reachable (by peeling N
implement a crude form of function overloading. The result is a
complete expression that implements the operation. PARAMS really
has type VEC(tree,gc)*, but we don't want to include tree.h here. */
- /* ??? params is called differently in the documentation, and we can't
- fix that because of GPL / GFDL incompatibility. */
-DEFHOOK_UNDOC
+DEFHOOK
(resolve_overloaded_builtin,
"",
- tree, (unsigned int /*location_t*/ loc, tree fndecl, void *params), NULL)
+ tree, (unsigned int /*location_t*/ loc, tree fndecl, void *arglist), NULL)
/* Fold a target-specific builtin. */
DEFHOOK
DEFHOOK
(branch_target_register_class,
"",
- enum reg_class, (void),
+ reg_class_t, (void),
default_branch_target_register_class)
/* Return true if branch target register optimizations should include
bool, (const_tree exp),
default_binds_local_p)
+/* Check if profiling code is before or after prologue. */
+DEFHOOK
+(profile_before_prologue,
+ "It returns true if target wants profile code emitted before prologue.\n\n\
+The default version of this hook use the target macro\n\
+@code{PROFILE_BEFORE_PROLOGUE}.",
+ bool, (void),
+ default_profile_before_prologue)
+
/* Modify and return the identifier of a DECL's external name,
originally identified by ID, as required by the target,
(eg, append @nn to windows32 stdcall function names).
DEFHOOK
(register_move_cost,
"",
- int, (enum machine_mode mode, enum reg_class from, enum reg_class to),
+ int, (enum machine_mode mode, reg_class_t from, reg_class_t to),
default_register_move_cost)
/* Compute cost of moving registers to/from memory. */
DEFHOOK
(memory_move_cost,
"",
- int, (enum machine_mode mode, enum reg_class rclass, bool in),
+ int, (enum machine_mode mode, reg_class_t rclass, bool in),
default_memory_move_cost)
/* True for MODE if the target expects that registers in this mode will
/* Return true if a parameter must be passed by reference. TYPE may
be null if this is a libcall. CA may be null if this query is
from __builtin_va_arg. */
-/* ??? The documentation disagrees on the type of 'type'. */
-DEFHOOK_UNDOC
+DEFHOOK
(pass_by_reference,
"",
bool,
pops on returning, or 0 if the function pops no arguments and the
caller must therefore pop them all after the function returns. */
/* ??? tm.texi has no types for the parameters. */
-DEFHOOK_UNDOC
+DEFHOOK
(return_pops_args,
"",
int, (tree fundecl, tree funtype, int size),
DEFHOOK
(ira_cover_classes,
"",
- const enum reg_class *, (void),
+ const reg_class_t *, (void),
default_ira_cover_classes)
/* Return the class for a secondary reload, and fill in extra information. */
DEFHOOK
(secondary_reload,
"",
- enum reg_class,
- (bool in_p, rtx x, enum reg_class reload_class, enum machine_mode reload_mode,
+ reg_class_t,
+ (bool in_p, rtx x, reg_class_t reload_class, enum machine_mode reload_mode,
secondary_reload_info *sri),
default_secondary_reload)
change the state if the options are valid. If the first argument is
NULL, the second argument specifies the default options to use. Return
true if the options are valid, and set the current state. */
-/* ??? The documentation disagrees on the signature of this hook. */
-DEFHOOK_UNDOC
+/* ??? The documentation in tm.texi is incomplete. */
+DEFHOOK
(pragma_parse,
"",
bool, (tree args, tree pop_target),
"",
bool, false)
+DEFHOOKPOD
+(want_debug_pub_sections,
+ "True if the @code{.debug_pubtypes} and @code{.debug_pubnames} sections\
+ should be emitted. These sections are not used on most platforms, and\
+ in particular GDB does not use them.",
+ bool, false)
+
/* Leave the boolean fields at the end. */
/* Empty macro arguments are undefined in C90, so use an empty macro. */