-@c Copyright (C) 1988-2019 Free Software Foundation, Inc.
+@c Copyright (C) 1988-2020 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@hook TARGET_OPTION_INIT_STRUCT
-@hook TARGET_OPTION_DEFAULT_PARAMS
-
-@hook TARGET_OPTION_VALIDATE_PARAM
-
@defmac SWITCHABLE_TARGET
Some targets need to switch between substantially different subtargets
during compilation. For example, the MIPS target has one subtarget for
If a register has 0 in @code{CALL_USED_REGISTERS}, the compiler
automatically saves it on function entry and restores it on function
exit, if the register is used within the function.
+
+Exactly one of @code{CALL_USED_REGISTERS} and @code{CALL_REALLY_USED_REGISTERS}
+must be defined. Modern ports should define @code{CALL_REALLY_USED_REGISTERS}.
@end defmac
@defmac CALL_REALLY_USED_REGISTERS
Like @code{CALL_USED_REGISTERS} except this macro doesn't require
that the entire set of @code{FIXED_REGISTERS} be included.
(@code{CALL_USED_REGISTERS} must be a superset of @code{FIXED_REGISTERS}).
-This macro is optional. If not specified, it defaults to the value
-of @code{CALL_USED_REGISTERS}.
+
+Exactly one of @code{CALL_USED_REGISTERS} and @code{CALL_REALLY_USED_REGISTERS}
+must be defined. Modern ports should define @code{CALL_REALLY_USED_REGISTERS}.
@end defmac
+@cindex call-used register
+@cindex call-clobbered register
+@cindex call-saved register
+@hook TARGET_FNTYPE_ABI
+
+@hook TARGET_INSN_CALLEE_ABI
+
@cindex call-used register
@cindex call-clobbered register
@cindex call-saved register
@hook TARGET_HARD_REGNO_CALL_PART_CLOBBERED
+@hook TARGET_GET_MULTILIB_ABI_NAME
+
@findex fixed_regs
@findex call_used_regs
@findex global_regs
@hook TARGET_STORE_RETURNED_BOUNDS
-@hook TARGET_SETUP_INCOMING_VARARG_BOUNDS
-
@node Trampolines
@section Support for Nested Functions
@cindex support for nested functions
@hook TARGET_LIBC_HAS_FUNCTION
+@hook TARGET_LIBC_HAS_FAST_FUNCTION
+
@defmac NEXT_OBJC_RUNTIME
Set this macro to 1 to use the "NeXT" Objective-C message sending conventions
by default. This calling convention involves passing the object, the selector
@hook TARGET_VECTORIZE_VEC_PERM_CONST
-@hook TARGET_VECTORIZE_BUILTIN_CONVERSION
-
@hook TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION
@hook TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION
@hook TARGET_VECTORIZE_SPLIT_REDUCTION
-@hook TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES
+@hook TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES
+
+@hook TARGET_VECTORIZE_RELATED_MODE
@hook TARGET_VECTORIZE_GET_MASK_MODE
@hook TARGET_SIMT_VF
+@hook TARGET_OMP_DEVICE_KIND_ARCH_ISA
+
@hook TARGET_GOACC_VALIDATE_DIMS
@hook TARGET_GOACC_DIM_LIMIT
@hook TARGET_INSERT_ATTRIBUTES
+@hook TARGET_HANDLE_GENERIC_ATTRIBUTE
+
@hook TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P
@hook TARGET_OPTION_VALID_ATTRIBUTE_P
@hook TARGET_RESOLVE_OVERLOADED_BUILTIN
+@hook TARGET_CHECK_BUILTIN_CALL
+
@hook TARGET_FOLD_BUILTIN
@hook TARGET_GIMPLE_FOLD_BUILTIN
@hook TARGET_GENERATE_VERSION_DISPATCHER_BODY
+@hook TARGET_PREDICT_DOLOOP_P
+
+@hook TARGET_HAVE_COUNT_REG_DECR_P
+
+@hook TARGET_DOLOOP_COST_FOR_GENERIC
+
+@hook TARGET_DOLOOP_COST_FOR_ADDRESS
+
@hook TARGET_CAN_USE_DOLOOP_P
@hook TARGET_INVALID_WITHIN_DOLOOP
lists.
@end defmac
-@defmac MODIFY_JNI_METHOD_CALL (@var{mdecl})
-Define this macro to a C expression representing a variant of the
-method call @var{mdecl}, if Java Native Interface (JNI) methods
-must be invoked differently from other methods on your target.
-For example, on 32-bit Microsoft Windows, JNI methods must be invoked using
-the @code{stdcall} calling convention and this macro is then
-defined as this expression:
-
-@smallexample
-build_type_attribute_variant (@var{mdecl},
- build_tree_list
- (get_identifier ("stdcall"),
- NULL))
-@end smallexample
-@end defmac
-
@hook TARGET_CANNOT_MODIFY_JUMPS_P
-@hook TARGET_BRANCH_TARGET_REGISTER_CLASS
-
-@hook TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED
-
@hook TARGET_HAVE_CONDITIONAL_EXECUTION
@hook TARGET_GEN_CCMP_FIRST
@hook TARGET_CONVERT_TO_TYPE
+@hook TARGET_VERIFY_TYPE_CONTEXT
+
@defmac OBJC_JBLEN
This macro determines the size of the objective C jump buffer for the
NeXT runtime. By default, OBJC_JBLEN is defined to an innocuous value.