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-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/>.
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 |
Referenced by end_marker().
|
inline |
|
inline |
References AGGREGATE_TYPE_P.
|
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(), and mode.
|
inline |
References GET_MODE_SIZE(), int_size_in_bytes(), and mode.
machine_mode function_arg_info::mode |
unsigned int function_arg_info::named |
Referenced by assign_parm_find_entry_rtl(), assign_parms_setup_varargs(), and hook_callee_copies_named().
unsigned int function_arg_info::pass_by_reference |
Referenced by apply_pass_by_reference_rules(), emit_library_call_value_1(), and initialize_argument_information().
tree function_arg_info::type |