| GCC Middle and Back End API Reference
    | 
#include <calls.h>
| Public Member Functions | |
| function_arg_info () | |
| function_arg_info (machine_mode mode, bool named) | |
| function_arg_info (tree type, bool named) | |
| function_arg_info (tree type, machine_mode mode, bool named) | |
| bool | aggregate_type_p () const | 
| poly_int64 | type_size_in_bytes () const | 
| poly_int64 | promoted_size_in_bytes () const | 
| bool | end_marker_p () const | 
| Static Public Member Functions | |
| static function_arg_info | end_marker () | 
| Data Fields | |
| tree | type | 
| machine_mode | mode | 
| unsigned int | named: 1 | 
| unsigned int | pass_by_reference: 1 | 
Declarations and data types for RTL call insn generation. Copyright (C) 2013-2025 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/>.
Describes a function argument. Each argument conceptually has a gimple-level type. Usually this type is available directly as a tree via the TYPE field, but when calling libgcc support functions it might instead be inferred from a mode, in which case the type isn't available directly. This gimple-level type might go through promotion before being passed to the target function. Depending on the context, the MODE field is either the mode of the gimple-level type (whether explicitly given or not) or the mode after promotion has been performed.
| 
 | inline | 
References false, mode, named, NULL_TREE, pass_by_reference, and type.
Referenced by end_marker().
| 
 | inline | 
References false, mode, named, pass_by_reference, and type.
| 
 | inline | 
References AGGREGATE_TYPE_P, and type.
| 
 | inlinestatic | 
References function_arg_info(), and void_type_node.
Referenced by emit_library_call_value_1(), and expand_call().
| 
 | inline | 
References GET_MODE_SIZE(), int_size_in_bytes(), mode, and type.
| 
 | inline | 
References GET_MODE_SIZE(), int_size_in_bytes(), mode, and type.
| machine_mode function_arg_info::mode | 
Referenced by apply_pass_by_reference_rules(), emit_library_call_value_1(), end_marker_p(), function_arg_info(), function_arg_info(), function_arg_info(), function_arg_info(), initialize_argument_information(), must_pass_in_stack_var_size_or_pad(), pass_by_reference(), prepare_call_arguments(), promoted_size_in_bytes(), and type_size_in_bytes().
| unsigned int function_arg_info::named | 
| unsigned int function_arg_info::pass_by_reference | 
| tree function_arg_info::type | 
Referenced by aggregate_type_p(), apply_pass_by_reference_rules(), function_arg_info(), function_arg_info(), function_arg_info(), function_arg_info(), initialize_argument_information(), must_pass_in_stack_var_size(), must_pass_in_stack_var_size_or_pad(), pass_by_reference(), prepare_call_arguments(), promoted_size_in_bytes(), reference_callee_copied(), and type_size_in_bytes().