GCC Middle and Back End API Reference
|
Go to the source code of this file.
|
extern |
Assume some c99 functions are present at the runtime including sincos.
References function_c94, function_c99_misc, and function_sincos.
Build an indirect-ref expression over the given TREE, which represents a piece of a va_arg() expansion.
References build_simple_mem_ref_loc(), and EXPR_LOCATION.
Referenced by std_gimplify_va_arg_expr().
|
extern |
An implementation of TARGET_CAN_USE_DOLOOP_P for targets that do not support nested low-overhead loops.
References loop_depth().
|
extern |
An implementation of TARGET_CONSTANT_ALIGNMENT that aligns strings to at least BITS_PER_WORD but otherwise makes no changes.
References BITS_PER_WORD, exp(), MAX, and TREE_CODE.
|
extern |
Return the mode for an address in a given ADDRSPACE, defaulting to Pmode for all address spaces.
Referenced by target_default_pointer_address_modes_p().
The default hook for TARGET_ADDR_SPACE_CONVERT. This hook should never be called for targets with only a generic address space.
References gcc_unreachable.
|
extern |
The default hook for debugging the address space is to return the address space number to indicate DW_AT_address_class.
|
extern |
The default hook implementation for TARGET_ADDR_SPACE_DIAGNOSE_USAGE. Don't complain about any address space.
|
extern |
Named address space version of legitimate_address_p. By default, all address spaces have the same form.
References targetm.
|
extern |
Named address space version of LEGITIMIZE_ADDRESS. By default, all address spaces have the same form.
References targetm.
|
extern |
Return the mode for a pointer to a given ADDRSPACE, defaulting to ptr_mode for all address spaces.
References ptr_mode.
Referenced by target_default_pointer_address_modes_p().
|
extern |
The default hook for determining if one named address space is a subset of another and to return which address space to use as the common address space.
|
extern |
Named address space version of valid_pointer_mode. To match the above, the same modes apply to all address spaces.
References targetm.
|
extern |
The default hook for determining if 0 within a named address space is a valid address.
|
extern |
Record an element in the table of global constructors. SYMBOL is a SYMBOL_REF of the function to be called; PRIORITY is a number between 0 and MAX_INIT_PRIORITY.
References sorry().
|
extern |
Likewise for global destructors.
References sorry().
|
extern |
Default TARGET_ASM_OUTPUT_IDENT hook. This is a bit of a cheat. The real default is a no-op, but this hook is the default for all targets with a .ident directive.
References asm_out_file, build_string(), symbol_table::finalize_toplevel_asm(), NULL, PARSING, symbol_table::state, and symtab.
Default implementation of TARGET_ATOMIC_ASSIGN_EXPAND_FENV.
|
extern |
By default only the preferred vector mode is tried.
|
extern |
Return true if _BitInt(N) is supported and fill details about it into *INFO.
Mapping of target builtin functions to vectorized variants.
References NULL_TREE.
|
extern |
The default implementation of TARGET_BUILTIN_SETJMP_FRAME_VALUE.
References virtual_stack_vars_rtx.
|
extern |
By default, assume that a target supports any factor of misalignment memory access if it supports movmisalign patten. is_packed is true if the memory access is defined in a packed struct.
References optab_handler().
|
extern |
By default assume vectors of element TYPE require a multiple of the natural alignment of TYPE. TYPE is naturally aligned if IS_PACKED is false.
|
extern |
Default vectorizer cost model values.
References cond_branch_not_taken, cond_branch_taken, estimated_poly_value(), gcc_unreachable, scalar_load, scalar_stmt, scalar_store, scalar_to_vec, TYPE_VECTOR_SUBPARTS(), unaligned_load, unaligned_store, vec_construct, vec_perm, vec_promote_demote, vec_to_scalar, vector_load, vector_stmt, and vector_store.
Mapping of builtin functions to vectorized variants.
References NULL_TREE.
Default version of canonicalize_comparison.
|
extern |
If the machine does not have a case insn that compares the bounds, this means extra overhead for dispatch tables, which raises the threshold for using them.
References targetm.
|
extern |
|
extern |
The default implementation of TARGET_CLASS_LIKELY_SPILLED_P.
References reg_class_size.
|
extern |
The default implementation of TARGET_CLASS_MAX_NREGS.
References GET_MODE_SIZE(), MACRO_MODE, and poly_int< N, C >::to_constant().
|
extern |
This hook controls code generation for expanding a memcmp operation by pieces. Return 1 for the normal pattern of compare/jump after each pair of loads, or a higher number to reduce the number of branches.
|
extern |
By default consider masked stores to be expensive.
|
extern |
The default implementation of TARGET_CONSTANT_ALIGNMENT.
|
extern |
Returns modified FUNCTION_TYPE for cdtor callabi.
Returns the size of the cookie to use when allocating an array whose elements have the indicated TYPE. Assumes that it is already known that a cookie is needed.
References size_in_bytes(), size_int, sizetype, tree_int_cst_lt(), and TYPE_ALIGN_UNIT.
|
extern |
The generic C++ ABI specifies this is a 64-bit value.
References long_long_integer_type_node.
|
extern |
Determine the debugging unwind mechanism for the target.
References dwarf_debuginfo_p(), UI_DWARF2, and UI_NONE.
|
extern |
True if the target supports decimal floating point.
|
extern |
|
extern |
Determine the correct mode for a Dwarf frame register that represents register REGNO.
References choose_hard_reg_mode(), eh_edge_abi, reg_raw_mode, and targetm.
|
extern |
Targets that set NUM_POLY_INT_COEFFS to something greater than 1 must define this hook.
References gcc_unreachable.
|
extern |
References targetm.
Emit a call to __builtin___clear_cache.
References begin(), BUILTIN_ASM_NAME_PTR, convert_memory_address, emit_library_call(), end(), LCT_NORMAL, and ptr_mode.
|
extern |
|
extern |
By default consider masked stores to be expensive.
Create the fields of the type for the control variables. Ordinarily this must match struct __emutls_object defined in emutls.c. However this is a target hook so that VxWorks can define its own layout.
References build_decl(), DECL_CHAIN, DECL_CONTEXT, get_identifier(), ptr_type_node, type(), lang_hooks_for_types::type_for_mode, lang_hooks::types, UNKNOWN_LOCATION, and word_mode.
Initialize emulated tls object TO, which refers to TLS variable DECL and is initialized by PROXY. As above, this is the default implementation of a target hook overridden by VxWorks.
References build_constructor(), build_int_cst(), DECL_ALIGN_UNIT, DECL_CHAIN, DECL_SIZE_UNIT, fold_convert, constructor_elt::index, null_pointer_node, TREE_TYPE, TYPE_FIELDS, constructor_elt::value, and vec_alloc().
|
extern |
The default implementation of TARGET_ESTIMATED_POLY_VALUE.
References poly_int< N, C >::coeffs.
|
extern |
Default implementation of TARGET_C_EXCESS_PRECISION.
References FLT_EVAL_METHOD_PROMOTE_TO_FLOAT.
|
extern |
References const0_rtx, and error().
|
extern |
References asm_out_file.
|
extern |
References build_call_expr(), build_decl(), build_function_type_list(), DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_IGNORED_P, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, get_identifier(), NULL_TREE, stack_chk_fail_decl, TREE_NOTHROW, TREE_PUBLIC, TREE_STATIC, TREE_THIS_VOLATILE, TREE_USED, UNKNOWN_LOCATION, VISIBILITY_DEFAULT, and void_type_node.
Referenced by default_hidden_stack_protect_fail().
|
extern |
True if the target supports fixed-point arithmetic.
|
extern |
True if the target supports floating-point exceptions and rounding modes.
|
extern |
Define this to return true if the _Floatn and _Floatnx built-in functions should implicitly enable the built-in function without the __builtin_ prefix in addition to the normal built-in function with the __builtin_ prefix. The default is to only enable built-in functions without the __builtin_ prefix for the GNU C langauge. The argument FUNC is the enum builtin_in_function id of the function to be enabled.
References lang_GNU_C(), and lang_GNU_OBJC().
|
extern |
Return the machine mode to use for the type _FloatN, if EXTENDED is false, or _FloatNx, if EXTENDED is true, or VOIDmode if not supported.
References opt_mode< T >::exists(), gcc_unreachable, REAL_MODE_FORMAT, and targetm.
|
extern |
By default, -fhardened will add -D_FORTIFY_SOURCE=2.
|
extern |
References gcc_unreachable.
|
extern |
References gcc_unreachable.
|
extern |
|
extern |
Default implementation of TARGET_FUNCTION_ARG_OFFSET.
|
extern |
Default implementation of TARGET_FUNCTION_ARG_PADDING: usually pad upward, but pad short args downward on big-endian machines.
References GET_MODE_SIZE(), int_size_in_bytes(), PAD_DOWNWARD, PAD_UPWARD, poly_int< N, C >::to_constant(), TREE_CODE, and TYPE_SIZE.
|
extern |
|
extern |
References gcc_unreachable.
|
extern |
Choose named function section based on its frequency.
References cgraph_node::get(), symtab_node::get(), get_named_text_section(), NODE_FREQUENCY_HOT, NODE_FREQUENCY_UNLIKELY_EXECUTED, NULL, and opt_for_fn.
|
extern |
References DECL_P, gcc_unreachable, and NULL.
|
extern |
The default hook for TARGET_FUNCTION_VALUE_REGNO_P.
References gcc_unreachable.
|
extern |
By default, address diff vectors are generated for jump tables when flag_pic is true.
|
extern |
By default a vector of integers is used as a mask.
References related_int_vector_mode().
|
extern |
Default version of get_pch_validity. By default, every flag difference is fatal; that will be mostly right for most targets, but completely right for very few.
References cl_options_count, i, option_affects_pch_p(), r, target_flags, and targetm.
|
extern |
To be used by targets where reg_raw_mode doesn't return the right mode for registers used in apply_builtin_return and apply_builtin_arg.
References as_a(), and reg_raw_mode.
|
extern |
|
extern |
Default goacc.reduction early expander. LHS-opt = IFN_REDUCTION (KIND, RES_PTR, VAR, LEVEL, OP, OFFSET) If RES_PTR is not integer-zerop: SETUP - emit 'LHS = *RES_PTR', LHS = NULL TEARDOWN - emit '*RES_PTR = VAR' If LHS is not NULL emit 'LHS = VAR'
References build_simple_mem_ref, gimple_build_assign(), gimple_call_arg(), gimple_call_lhs(), gimple_seq_add_stmt(), gsi_for_stmt(), gsi_replace_with_seq(), integer_zerop(), NULL, and TREE_INT_CST_LOW.
Referenced by execute_oacc_device_lower().
|
extern |
The defualt implementation of TARGET_HARD_REGNO_NREGS.
References CEIL, and GET_MODE_SIZE().
|
extern |
|
extern |
True if the target supports GNU indirect functions.
|
extern |
Default implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE.
|
extern |
References build_call_expr(), build_decl(), build_function_type_list(), DECL_ARTIFICIAL, DECL_EXTERNAL, DECL_IGNORED_P, DECL_VISIBILITY, DECL_VISIBILITY_SPECIFIED, default_external_stack_protect_fail(), get_identifier(), NULL_TREE, stack_chk_fail_decl, TREE_NOTHROW, TREE_PUBLIC, TREE_STATIC, TREE_THIS_VOLATILE, TREE_USED, UNKNOWN_LOCATION, VISIBILITY_HIDDEN, and void_type_node.
|
extern |
References copy_to_reg(), fixed_regs, and virtual_incoming_args_rtx.
|
extern |
NULL if INSN insn is valid within a low-overhead loop, otherwise returns an error message. This function checks whether a given INSN is valid within a low-overhead loop. If INSN is invalid it returns the reason for that, otherwise it returns NULL. A called function may clobber any special registers required for low-overhead looping. Additionally, some targets (eg, PPC) use the count register for branch on table instructions. We reject the doloop pattern in these cases.
References CALL_P, computed_jump_p(), NULL, and tablejump_p().
|
extern |
|
extern |
Return true if a leaf function should stay leaf even with profiling enabled.
|
extern |
Default target hook functions. Copyright (C) 2003-2024 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
References gcc_unreachable, memory_address_p, and strict_memory_address_p.
|
extern |
|
extern |
By default assume that libc has not a fast implementation.
|
extern |
By default we assume that c99 functions are present at the runtime, but sincos is not.
References function_c94, function_c99_math_complex, and function_c99_misc.
References gcc_unreachable, and MACRO_MODE.
|
extern |
References word_mode.
|
extern |
Return true if libgcc supports floating-point mode MODE (known to be supported as a scalar mode).
|
extern |
References word_mode.
|
extern |
Referenced by glibc_linux_libm_function_max_error().
|
extern |
|
extern |
The default implementation of TARGET_MANGLE_ASSEMBLER_NAME.
References get_identifier(), NULL, targetm, and user_label_prefix.
By default, do no modification.
|
extern |
Default implementation of TARGET_MAX_NOCE_IFCVT_SEQ_COST.
References COSTS_N_INSNS, OPTION_SET_P, and predictable_edge_p().
|
extern |
Default version of member_type_forces_blk.
|
extern |
Compute cost of moving registers to/from memory.
References MACRO_MODE, and memory_move_secondary_cost().
|
extern |
The default implementation of TARGET_MEMTAG_ADD_TAG.
References HWASAN_SHIFT, offset, and plus_constant().
|
extern |
The default implementation of TARGET_MEMTAG_EXTRACT_TAG.
References expand_simple_binop(), gcc_assert, gen_lowpart, HWASAN_SHIFT_RTX, and OPTAB_DIRECT.
|
extern |
The default implementation of TARGET_MEMTAG_INSERT_RANDOM_TAG.
References emit_library_call_value(), gcc_assert, init_one_libfunc(), LCT_NORMAL, NULL_RTX, and targetm.
The default implementation of TARGET_MEMTAG_SET_TAG.
References expand_simple_binop(), gcc_assert, GET_MODE, HWASAN_SHIFT_RTX, NULL_RTX, OPTAB_DIRECT, and OPTAB_WIDEN.
|
extern |
The default implementation of TARGET_MEMTAG_UNTAGGED_POINTER.
References expand_simple_binop(), gcc_assert, gen_int_mode(), HOST_WIDE_INT_1U, HWASAN_SHIFT, and OPTAB_DIRECT.
|
extern |
Default implementation of TARGET_MIN_ARITHMETIC_PRECISION.
References BITS_PER_WORD, and WORD_REGISTER_OPERATIONS.
|
extern |
The default implementation of TARGET_MIN_DIVISIONS_FOR_RECIP_MUL.
References have_insn_for().
|
extern |
The default implementation of TARGET_MODE_DEPENDENT_ADDRESS_P.
|
extern |
Return machine mode for a floating type which is indicated by the given enum tree_index.
References gcc_assert, TI_DOUBLE_TYPE, TI_FLOAT_TYPE, and TI_LONG_DOUBLE_TYPE.
|
extern |
Return machine mode for non-standard suffix or VOIDmode if non-standard suffixes are unsupported.
|
extern |
The default implementation of TARGET_MODE_REP_EXTENDED.
|
extern |
By default, return false to not need to collect any target information for inlining. Target maintainer should re-define the hook if the target want to take advantage of it.
The default implementation of TARGET_NEW_ADDRESS_PROFITABLE_P.
|
extern |
Return true if SEQ is a good candidate as a replacement for the if-convertible sequence described in IF_INFO. This is the default implementation that targets can override through a target hook.
References noce_if_info::max_seq_cost, seq_cost(), and noce_if_info::speed_p.
|
extern |
Default implementation of TARGET_OPTAB_SUPPORTED_P.
|
extern |
Default version of pch_valid_p.
References _, cl_options, cl_options_count, i, NULL, option_affects_pch_p(), pch_option_mismatch(), r, target_flags, and targetm.
Return true if we predict the loop LOOP will be transformed to a low-overhead loop, otherwise return false. By default, false is returned, as this hook's applicability should be verified for each target. Target maintainers should re-define the hook if the target can take advantage of it.
|
extern |
The default implementation of TARGET_VECTORIZE_PREFERRED_DIV_AS_SHIFTS_OVER_MULT.
References can_mult_highpart_p(), TYPE_MODE, and TYPE_UNSIGNED.
|
extern |
By default, just use the input MODE itself.
The default implementation of TARGET_PREFERRED_ELSE_VALUE.
References build_zero_cst().
|
extern |
The default implementation of TARGET_OUTPUT_PREFERRED_RELOAD_CLASS.
|
extern |
The default implementation of TARGET_PREFERRED_RELOAD_CLASS.
|
extern |
The default implementation of TARGET_PREFERRED_RENAME_CLASS.
|
extern |
By default, only attempt to parallelize bitwise operations, and possibly adds/subtracts using bit-twiddling.
References word_mode.
|
extern |
The default implementation of TARGET_VECTORIZE_PREFERRED_VECTOR_ALIGNMENT.
References TYPE_ALIGN.
|
extern |
References default_setup_incoming_varargs(), and targetm.
|
extern |
Emit to STREAM the assembler syntax for insn operand X.
References gcc_unreachable.
|
extern |
Emit to STREAM the assembler syntax for an insn operand whose memory address is X.
References gcc_unreachable.
|
extern |
Return true if CODE is a valid punctuation character for the `print_operand' hook.
|
extern |
Write PATCH_AREA_SIZE NOPs into the asm outfile FILE around a function entry. If RECORD_P is true and the target supports named sections, the location of the NOPs will be recorded in a special object section called "__patchable_function_entries". This routine may be called twice per function to put NOPs before and after the function entry.
References ASM_OUTPUT_LABEL, assemble_align(), assemble_name_raw(), current_function_decl, current_function_funcdef_no, DECL_COMDAT_GROUP, fputc(), gcc_assert, get_insn_template(), get_section(), i, in_section, integer_asm_op(), make_insn_raw(), NULL, output_asm_insn(), POINTER_SIZE, POINTER_SIZE_UNITS, recog_memoized(), SECTION_LINK_ORDER, SECTION_RELRO, SECTION_WRITE, switch_to_comdat_section(), and switch_to_section().
|
extern |
|
extern |
References NULL_TREE, and promote_mode().
|
extern |
References promote_mode().
|
extern |
Default implementation of TARGET_PUSH_ARGUMENT.
References ACCUMULATE_OUTGOING_ARGS.
Determine whether the memory reference specified by REF may alias the C libraries errno location.
References pt_solution::anything, ao_ref_base(), DECL_EXTERNAL, DECL_P, integer_type_node, pt_solution::nonlocal, ptr_info_def::pt, SSA_NAME_PTR_INFO, TREE_CODE, TREE_OPERAND, TREE_STATIC, TREE_TYPE, TYPE_MODE, and TYPE_UNSIGNED.
|
extern |
Compute cost of moving data from a register of class FROM to one of TO, using MODE.
References MACRO_MODE.
|
extern |
|
extern |
|
extern |
By default, if flag_pic is true, then neither local nor global relocs should be placed in readonly memory.
|
extern |
References TYPE_MODE.
|
extern |
|
extern |
True if MODE is valid for the target. By "valid", we mean able to be manipulated in non-trivial ways. In particular, this means all the arithmetic is supported. By default we guess this means that any C type is supported. If we can't map the mode back to a type that would be available in C, then reject it. Special case, here, is the double-word arithmetic supported by optabs.cc.
References BITS_PER_WORD, CHAR_TYPE_SIZE, gcc_unreachable, GET_MODE_CLASS, GET_MODE_PRECISION(), INT_TYPE_SIZE, LONG_LONG_TYPE_SIZE, LONG_TYPE_SIZE, SHORT_TYPE_SIZE, targetm, TI_DOUBLE_TYPE, TI_FLOAT_TYPE, and TI_LONG_DOUBLE_TYPE.
|
extern |
The default implementation of TARGET_SECONDARY_MEMORY_NEEDED_MODE.
References BITS_PER_WORD, GET_MODE_BITSIZE(), GET_MODE_CLASS, INTEGRAL_MODE_P, known_lt, mode_for_size(), opt_mode< T >::require(), and targetm.
|
extern |
|
extern |
The default implementation of TARGET_EARLY_REMAT_MODES.
|
extern |
Referenced by default_pretend_outgoing_varargs_named().
|
extern |
The default implementation of TARGET_SHIFT_TRUNCATION_MASK.
References GET_MODE_UNIT_BITSIZE, and SHIFT_COUNT_TRUNCATED.
|
extern |
The default implementation of TARGET_SLOW_UNALIGNED_ACCESS.
Default implementation of the speculation-safe-load builtin. This implementation simply copies val to result and generates a speculation_barrier insn, if such a pattern is defined.
References emit_insn(), and emit_move_insn().
|
extern |
By default do not split reductions further.
|
extern |
Default implementation for TARGET_STACK_CLASH_PROTECTION_ALLOCA_PROBE_RANGE.
|
extern |
|
extern |
|
extern |
The default implementation of TARGET_STATIC_RTX_ALIGNMENT.
References GET_MODE_ALIGNMENT.
References DECL_FUNCTION_SPECIFIC_TARGET, and target_option_default_node.
|
extern |
|
extern |
The default implementation of TARGET_TRANSLATE_MODE_ATTRIBUTE.
|
extern |
References GET_MODE, i, may_trap_p_1(), SCALAR_FLOAT_MODE_P, XVECEXP, and XVECLEN.
|
extern |
References word_mode.
|
extern |
Return TRUE if the move_by_pieces/set_by_pieces infrastructure should be used; return FALSE if the cpymem/setmem optab should be expanded, or a call to memcpy emitted.
References by_pieces_ninsns(), CLEAR_BY_PIECES, COMPARE_BY_PIECES, COMPARE_MAX_PIECES, get_move_ratio(), MOVE_BY_PIECES, MOVE_MAX_PIECES, SET_BY_PIECES, STORE_BY_PIECES, and STORE_MAX_PIECES.
|
extern |
Determine whether or not a pointer mode is valid. Assume defaults of ptr_mode or Pmode - can be overridden.
References ptr_mode.
|
extern |
Default to natural alignment for vector types, bounded by MAX_OFILE_ALIGNMENT.
References GET_MODE_ALIGNMENT, MAX, MAX_OFILE_ALIGNMENT, tree_fits_uhwi_p(), tree_to_uhwi(), TYPE_MODE, and TYPE_SIZE.
|
extern |
By default, the cost model accumulates three separate costs (prologue, loop body, and epilogue) for a vectorized loop or block. So allocate an array of three unsigned ints, set it to zero, and return its address.
|
extern |
The default implementation of TARGET_VECTORIZE_RELATED_MODE.
References element_mode(), GET_MODE_SIZE(), mode_for_vector(), targetm, and VECTOR_MODE_P.
|
extern |
The default hook for TARGET_ZERO_CALL_USED_REGS.
References CLEAR_HARD_REG_SET, CONST0_RTX, delete_insns_since(), emit_move_insn(), gcc_assert, gen_rtx_REG(), get_last_insn(), hard_reg_set_empty_p(), hard_regno_nregs(), i, zero_call_used_regs_opts_s::name, NULL, SET_HARD_REG_BIT, sorry(), targetm, TEST_HARD_REG_BIT, valid_insn_p(), zcur_select_mode_rtx(), and zero_call_used_regs_opts.
|
extern |
References default_libm_function_max_error(), df, gcc_fallthrough, ieee_double_format, ieee_extended_intel_128_format, ieee_extended_intel_96_format, ieee_extended_motorola_format, ieee_quad_format, ieee_single_format, mips_double_format, mips_quad_format, mips_single_format, motorola_double_format, motorola_single_format, and REAL_MODE_FORMAT.
References COMMUTATIVE_P.
|
extern |
|
extern |
|
extern |
These are here, and not in hooks.[ch], because not all users of hooks.h include tm.h, and thus we don't have CUMULATIVE_ARGS.
Generic hook that takes a CUMULATIVE_ARGS pointer and returns false.
|
extern |
Generic hook that takes a CUMULATIVE_ARGS pointer and returns true.
|
extern |
Return true if a parameter follows callee copies conventions. This version of the hook is true for all named arguments.
References function_arg_info::named.
|
extern |
|
extern |
References NULL.
|
extern |
Return true if a parameter must be passed by reference. This version of the TARGET_PASS_BY_REFERENCE hook uses just MUST_PASS_IN_STACK.
References targetm.
|
extern |
|
extern |
|
extern |
|
extern |
Alternative implementation of TARGET_HAVE_SPECULATION_SAFE_VALUE that can be used on targets that never have speculative execution.
|
extern |
The "standard" implementation of va_arg: read the value from the current (padded) address and increment by the (padded) size.
References arg_size_in_bytes(), ARGS_GROW_DOWNWARD, build2(), build_int_cst(), build_pointer_type(), build_va_arg_indirect_ref(), build_variant_type_copy(), fb_rvalue, fold_build2, fold_build2_loc(), fold_build3, fold_build_pointer_plus, fold_build_pointer_plus_hwi, fold_convert, gcc_unreachable, get_initialized_tmp_var(), gimplify_and_add(), gimplify_expr(), input_location, integer_zerop(), is_gimple_val(), MAX_SUPPORTED_STACK_ALIGNMENT, NULL, PAD_VARARGS_DOWN, pass_va_arg_by_reference(), round_up, SET_TYPE_ALIGN, size_binop, size_int, size_zero_node, sizetype, std_gimplify_va_arg_expr(), targetm, TREE_CODE, TREE_TYPE, TYPE_ALIGN, TYPE_EMPTY_P, TYPE_MODE, TYPE_SIZE, and unshare_expr().
Referenced by std_gimplify_va_arg_expr().
|
extern |
References FLOAT_WORDS_BIG_ENDIAN.
|
extern |
Make some target macros useable by target-independent code.