GCC Middle and Back End API Reference
|
#include <gimple.h>
Data Fields | |
struct pt_solution | call_used |
struct pt_solution | call_clobbered |
union { | |
tree fntype | |
enum internal_fn internal_fn | |
} | u |
tree | op [1] |
tree | vdef |
tree | vuse |
struct use_optype_d * | use_ops |
ENUM_BITFIELD(gimple_code) code unsigned int | no_warning: 1 |
unsigned int | visited: 1 |
unsigned int | nontemporal_move: 1 |
unsigned int | plf: 2 |
unsigned | modified: 1 |
unsigned | has_volatile_ops: 1 |
unsigned int | subcode: 16 |
unsigned | uid |
location_t | location |
unsigned | num_ops |
basic_block | bb |
gimple | next |
gimple | prev |
code == GIMPLE_CALL.
GIMPLE_CALL <FN, LHS, ARG1, ..., ARGN[, CHAIN]> represents function calls.
FN is the callee. It must be accepted by is_gimple_call_addr.
LHS is the operand where the return value from FN is stored. It may be NULL.
ARG1 ... ARGN are the arguments. They must all be accepted by is_gimple_operand.
CHAIN is the optional static chain link for nested functions.
|
inherited |
[ WORD 3 ] Basic block holding this statement.
Referenced by gimple_call_arg_flags().
struct pt_solution gimple_statement_call::call_clobbered |
struct pt_solution gimple_statement_call::call_used |
[ WORD 1-9 ] : base class [ WORD 10-13 ]
tree gimple_statement_call::fntype |
|
inherited |
Nonzero if this statement contains volatile operands.
enum internal_fn gimple_statement_call::internal_fn |
|
inherited |
[ WORD 2 ] Locus information for debug info.
|
inherited |
Nonzero if this statement has been modified and needs to have its operands rescanned.
|
inherited |
[ WORD 4-5 ] Linked lists of gimple statements. The next pointers form a NULL terminated list, the prev pointers are a cyclic list. A gimple statement is hence also a double-ended list of statements, with the pointer itself being the first element, and the prev pointer being the last.
Referenced by gsi_insert_seq_nodes_after(), gsi_set_stmt(), and gsi_split_seq_after().
|
inherited |
[ WORD 1 ] Main identifying code for a tuple. Nonzero if a warning should not be emitted on this tuple.
|
inherited |
Nonzero if this tuple represents a non-temporal move.
|
inherited |
Number of operands in this tuple.
tree gimple_statement_call::op[1] |
[ WORD 15 ] Operand vector. NOTE! This must always be the last field of this structure. In particular, this means that this structure cannot be embedded inside another one.
|
inherited |
Pass local flags. These flags are free for any pass to use as they see fit. Passes should not assume that these flags contain any useful value when the pass starts. Any initial state that the pass requires should be set on entry to the pass. See gimple_set_plf and gimple_plf for usage.
|
inherited |
Referenced by gsi_insert_seq_before(), gsi_insert_seq_nodes_after(), gsi_set_stmt(), and gsi_split_seq_after().
|
inherited |
The SUBCODE field can be used for tuple-specific flags for tuples that do not require subcodes. Note that SUBCODE should be at least as wide as tree codes, as several tuples store tree codes in there.
Referenced by gimple_build_call_valist().
union { ... } gimple_statement_call::u |
[ WORD 14 ]
|
inherited |
UID of this statement. This is used by passes that want to assign IDs to statements. It must be assigned and used by each pass. By default it should be assumed to contain garbage.
|
inherited |
[ WORD 1-6 ] : base class [ WORD 7 ] SSA operand vectors. NOTE: It should be possible to amalgamate these vectors with the operand vector OP. However, the SSA operand vectors are organized differently and contain more information (like immediate use chaining).
Referenced by gimple_in_ssa_p().
|
inherited |
[ WORD 1-7 ] : base class [ WORD 8-9 ] Virtual operands for this statement. The GC will pick them up via the ssa_names array.
Referenced by gimple_vuse_op().
|
inherited |
Nonzero if this tuple has been visited. Passes are responsible for clearing this bit before using it.
|
inherited |