4.Gimple
— GIMPLE function: 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).
— GIMPLE function: gcall *gimple_build_call_from_tree (tree call_expr)
Build a
GIMPLE_CALLfrom aCALL_EXPRnode. The arguments and the function are taken from the expression directly. 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.
— GIMPLE function: gcall *gimple_build_call_vec (tree fn, vec<tree> args)
Identical to
gimple_build_callbut the arguments are stored in avec<tree>.
— GIMPLE function: tree gimple_call_lhs (gimple g)
Return the
LHSof call statementG.
— GIMPLE function: tree * gimple_call_lhs_ptr (gimple g)
Return a pointer to the
LHSof call statementG.
— GIMPLE function: void gimple_call_set_lhs (gimple g, tree lhs)
Set
LHSto be theLHSoperand of call statementG.
— GIMPLE function: tree gimple_call_fn (gimple g)
Return the tree node representing the function called by call statement
G.
— GIMPLE function: 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.
— GIMPLE 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.
— GIMPLE function: tree gimple_call_set_fndecl (gimple g, tree fndecl)
Set the called function to
FNDECL.
— GIMPLE function: tree gimple_call_return_type (const gcall *g)
Return the type returned by call statement
G.
— GIMPLE function: tree gimple_call_chain (gimple g)
Return the static chain for call statement
G.
— GIMPLE function: void gimple_call_set_chain (gcall *g, tree chain)
Set
CHAINto be the static chain for call statementG.
— GIMPLE function: unsigned gimple_call_num_args (gimple g)
Return the number of arguments used by call statement
G.
— GIMPLE function: tree gimple_call_arg (gimple g, unsigned index)
Return the argument at position
INDEXfor call statementG. The first argument is 0.
— GIMPLE function: tree * gimple_call_arg_ptr (gimple g, unsigned index)
Return a pointer to the argument at position
INDEXfor call statementG.
— GIMPLE function: void gimple_call_set_arg (gimple g, unsigned index, tree arg)
Set
ARGto be the argument at positionINDEXfor call statementG.
— GIMPLE function: 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.
— GIMPLE function: bool gimple_call_tail_p (gcall *s)
Return true if
GIMPLE_CALLSis marked as a tail call.
— GIMPLE function: bool gimple_call_noreturn_p (gimple s)
Return true if
Sis a noreturn call.
— GIMPLE function: 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.

浙公网安备 33010602011771号