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-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.   

Constructor & Destructor Documentation

◆ function_arg_info() [1/4]

function_arg_info::function_arg_info ( )
inline

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

Member Function Documentation

◆ aggregate_type_p()

bool function_arg_info::aggregate_type_p ( ) const
inline

References AGGREGATE_TYPE_P.

◆ 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 ggc_alloc(), and 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

unsigned int function_arg_info::named

◆ pass_by_reference

unsigned int function_arg_info::pass_by_reference

◆ type


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