GIMPLE_CALL#
-
gcall *gimple_build_call(tree fn, unsigned nargs, ...)#
Build a
GIMPLE_CALLstatement to functionFN. The argumentFNmust be either aFUNCTION_DECLor a gimple call address as determined byis_gimple_call_addr.NARGSare 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).
-
gcall *gimple_build_call_from_tree(tree call_expr, tree fnptrtype)#
Build a
GIMPLE_CALLfrom aCALL_EXPRnode. The arguments and the function are taken from the expression directly. The type of theGIMPLE_CALLis set from the second parameter passed by a caller. This routine assumes thatcall_expris already in GIMPLE form. That is, its operands are GIMPLE values and the function call needs no further simplification. All the call flags incall_exprare copied over to the newGIMPLE_CALL.
-
gcall *gimple_build_call_vec(tree fn, vec<tree> args)#
Identical to
gimple_build_callbut the arguments are stored in avec<tree>.
-
tree gimple_call_lhs(gimple g)#
Return the
LHSof call statementG.
-
tree *gimple_call_lhs_ptr(gimple g)#
Return a pointer to the
LHSof call statementG.
-
void gimple_call_set_lhs(gimple g, tree lhs)#
Set
LHSto be theLHSoperand of call statementG.
-
tree gimple_call_fn(gimple g)#
Return the tree node representing the function called by call statement
G.
-
void gimple_call_set_fn(gcall *g, tree fn)#
Set
FNto be the function called by call statementG. This has to be a gimple value specifying the address of the called function.
-
tree gimple_call_fndecl(gimple g)#
If a given
GIMPLE_CALL‘s callee is aFUNCTION_DECL, return it. Otherwise returnNULL. This function is analogous toget_callee_fndeclinGENERIC.
-
tree gimple_call_set_fndecl(gimple g, tree fndecl)#
Set the called function to
FNDECL.
-
tree gimple_call_return_type(const gcall *g)#
Return the type returned by call statement
G.
-
tree gimple_call_chain(gimple g)#
Return the static chain for call statement
G.
-
void gimple_call_set_chain(gcall *g, tree chain)#
Set
CHAINto be the static chain for call statementG.
-
unsigned gimple_call_num_args(gimple g)#
Return the number of arguments used by call statement
G.
-
tree gimple_call_arg(gimple g, unsigned index)#
Return the argument at position
INDEXfor call statementG. The first argument is 0.
-
tree *gimple_call_arg_ptr(gimple g, unsigned index)#
Return a pointer to the argument at position
INDEXfor call statementG.
-
void gimple_call_set_arg(gimple g, unsigned index, tree arg)#
Set
ARGto be the argument at positionINDEXfor call statementG.
-
void gimple_call_set_tail(gcall *s)#
Mark call statement
Sas being a tail call (i.e., a call just before the exit of a function). These calls are candidate for tail call optimization.
-
bool gimple_call_tail_p(gcall *s)#
Return true if
GIMPLE_CALLSis marked as a tail call.
-
bool gimple_call_noreturn_p(gimple s)#
Return true if
Sis a noreturn call.
-
gimple gimple_call_copy_skip_args(gcall *stmt, bitmap args_to_skip)#
Build a
GIMPLE_CALLidentical toSTMTbut skipping the arguments in the positions marked by the setARGS_TO_SKIP.