GIMPLE_CALL
Build a
GIMPLE_CALL
statement to functionFN
. The argumentFN
must be either aFUNCTION_DECL
or a gimple call address as determined byis_gimple_call_addr
.NARGS
are the number of arguments. The rest of the arguments follow the argumentNARGS
, and must be trees that are valid as rvalues in gimple (i.e., each operand is validated withis_gimple_operand
).
Build a
GIMPLE_CALL
from aCALL_EXPR
node. The arguments and the function are taken from the expression directly. This routine assumes thatcall_expr
is already in GIMPLE form. That is, its operands are GIMPLE values and the function call needs no further simplification. All the call flags incall_expr
are copied over to the newGIMPLE_CALL
.
vec<tree>
args)Identical to
gimple_build_call
but the arguments are stored in avec<tree>
.
Return a pointer to the
LHS
of call statementG
.
Set
LHS
to be theLHS
operand of call statementG
.
Return the tree node representing the function called by call statement
G
.
Set
FN
to be the function called by call statementG
. This has to be a gimple value specifying the address of the called function.
If a given
GIMPLE_CALL
's callee is aFUNCTION_DECL
, return it. Otherwise returnNULL
. This function is analogous toget_callee_fndecl
inGENERIC
.
Set the called function to
FNDECL
.
Return the type returned by call statement
G
.
Set
CHAIN
to be the static chain for call statementG
.
Return the number of arguments used by call statement
G
.
Return the argument at position
INDEX
for call statementG
. The first argument is 0.
Return a pointer to the argument at position
INDEX
for call statementG
.
Set
ARG
to be the argument at positionINDEX
for call statementG
.
Mark call statement
S
as being a tail call (i.e., a call just before the exit of a function). These calls are candidate for tail call optimization.