GCC Middle and Back End API Reference
gimple_statement_bind Struct Reference

#include <gimple.h>

Inheritance diagram for gimple_statement_bind:
Collaboration diagram for gimple_statement_bind:

Data Fields

tree vars
tree block
gimple_seq body
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

Detailed Description


Field Documentation

basic_block gimple_statement_base::bb
     [ WORD 3 ]
     Basic block holding this statement.  

Referenced by gimple_call_arg_flags().

tree gimple_statement_bind::block
     [ WORD 8 ]
     This is different than the BLOCK field in gimple_statement_base,
     which is analogous to TREE_BLOCK (i.e., the lexical block holding
     this statement).  This field is the equivalent of BIND_EXPR_BLOCK
     in tree land (i.e., the lexical scope defined by this bind).  See
gimple_seq gimple_statement_bind::body
     [ WORD 9 ]  
unsigned gimple_statement_base::has_volatile_ops
     Nonzero if this statement contains volatile operands.  
location_t gimple_statement_base::location
     [ WORD 2 ]
     Locus information for debug info.  
unsigned gimple_statement_base::modified
     Nonzero if this statement has been modified and needs to have its
     operands rescanned.  
gimple gimple_statement_base::next
     [ 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().

ENUM_BITFIELD (gimple_code) code unsigned int gimple_statement_base::no_warning
     [ WORD 1 ]
     Main identifying code for a tuple.  
     Nonzero if a warning should not be emitted on this tuple.  
unsigned int gimple_statement_base::nontemporal_move
     Nonzero if this tuple represents a non-temporal move.  
unsigned gimple_statement_base::num_ops
     Number of operands in this tuple.  
unsigned int gimple_statement_base::plf
     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.  
gimple gimple_statement_base::prev
unsigned int gimple_statement_base::subcode
     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().

unsigned gimple_statement_base::uid
     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.  
tree gimple_statement_bind::vars
     [ WORD 1-6 ] : base class 
     [ WORD 7 ]
     Variables declared in this scope.  
unsigned int gimple_statement_base::visited
     Nonzero if this tuple has been visited.  Passes are responsible
     for clearing this bit before using it.  

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