GCC Middle and Back End API Reference
function_arg_info Class 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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ function_arg_info() [1/4]

function_arg_info::function_arg_info ( )
inline

References false, mode, named, NULL_TREE, pass_by_reference, and type.

Referenced by end_marker().

◆ function_arg_info() [2/4]

function_arg_info::function_arg_info ( machine_mode mode,
bool named )
inline

◆ function_arg_info() [3/4]

function_arg_info::function_arg_info ( tree type,
bool named )
inline

◆ function_arg_info() [4/4]

function_arg_info::function_arg_info ( tree type,
machine_mode mode,
bool named )
inline

References false, mode, named, pass_by_reference, and type.

Member Function Documentation

◆ aggregate_type_p()

bool function_arg_info::aggregate_type_p ( ) const
inline

References AGGREGATE_TYPE_P, and type.

◆ end_marker()

static function_arg_info function_arg_info::end_marker ( )
inlinestatic

◆ end_marker_p()

bool function_arg_info::end_marker_p ( ) const
inline

References mode.

◆ promoted_size_in_bytes()

poly_int64 function_arg_info::promoted_size_in_bytes ( ) const
inline

◆ type_size_in_bytes()

poly_int64 function_arg_info::type_size_in_bytes ( ) const
inline

Field Documentation

◆ mode

◆ named

◆ pass_by_reference

◆ type


The documentation for this class was generated from the following file: