libFirm
Block node

A basic block. More...

Functions

ir_nodeget_Block_cfgpred_block (const ir_node *node, int pos)
 Returns the predecessor block. More...
 
int get_Block_matured (const ir_node *block)
 Returns the matured flag of a block. More...
 
void set_Block_matured (ir_node *block, int matured)
 set the matured flag of a block. More...
 
ir_visited_t get_Block_block_visited (const ir_node *block)
 A visited flag only for block nodes. More...
 
void set_Block_block_visited (ir_node *block, ir_visited_t visit)
 set block visited flag More...
 
void mark_Block_block_visited (ir_node *node)
 Marks a block as visited by setting its visited counter. More...
 
int Block_block_visited (const ir_node *node)
 Returns 1 if a block is marked as visited. More...
 
ir_entitycreate_Block_entity (ir_node *block)
 Returns the entity for a Block (creating it if necessary) More...
 
ir_nodeget_Block_phis (const ir_node *block)
 Returns the head of the Phi list for this block. More...
 
void set_Block_phis (ir_node *block, ir_node *phi)
 Sets the head of the Phi list for this block. More...
 
void add_Block_phi (ir_node *block, ir_node *phi)
 Add a Phi node to the list of Block Phi's. More...
 
unsigned get_Block_mark (const ir_node *block)
 Returns the Block mark (single bit). More...
 
void set_Block_mark (ir_node *block, unsigned mark)
 Sets the Block mark (single bit). More...
 
ir_nodenew_rd_Block (dbg_info *dbgi, ir_graph *irg, int arity, ir_node *const *in)
 Construct a Block node. More...
 
ir_nodenew_r_Block (ir_graph *irg, int arity, ir_node *const *in)
 Construct a Block node. More...
 
ir_nodenew_d_Block (dbg_info *dbgi, int arity, ir_node *const *in)
 Construct a Block node. More...
 
ir_nodenew_Block (int arity, ir_node *const *in)
 Construct a Block node. More...
 
int is_Block (const ir_node *node)
 Test if node is a Block. More...
 
int get_Block_n_cfgpreds (ir_node const *node)
 Get the number of Block cfgpreds. More...
 
ir_nodeget_Block_cfgpred (ir_node const *node, int pos)
 Get the Block cfgpred with index pos. More...
 
void set_Block_cfgpred (ir_node *node, int pos, ir_node *cfgpred)
 Set the Block cfgpred with index pos. More...
 
ir_node ** get_Block_cfgpred_arr (ir_node *node)
 Get an array of all Block cfgpreds. More...
 
ir_entityget_Block_entity (const ir_node *node)
 Returns entity attribute of a Block node. More...
 
void set_Block_entity (ir_node *node, ir_entity *entity)
 Sets entity attribute of a Block node. More...
 
ir_opget_op_Block (void)
 Returns opcode for Block nodes. More...
 

Variables

ir_opop_Block
 Block opcode. More...
 

Detailed Description

A basic block.

Function Documentation

void add_Block_phi ( ir_node block,
ir_node phi 
)

Add a Phi node to the list of Block Phi's.

int Block_block_visited ( const ir_node node)

Returns 1 if a block is marked as visited.

ir_entity* create_Block_entity ( ir_node block)

Returns the entity for a Block (creating it if necessary)

ir_visited_t get_Block_block_visited ( const ir_node block)

A visited flag only for block nodes.

See also
also: get_irn_visited() inc_irg_visited() inc_irg_block_visited()
ir_node* get_Block_cfgpred ( ir_node const *  node,
int  pos 
)

Get the Block cfgpred with index pos.

Definition at line 511 of file gen_irnode.c.

ir_node** get_Block_cfgpred_arr ( ir_node node)

Get an array of all Block cfgpreds.

Definition at line 521 of file gen_irnode.c.

References op_Block.

ir_node* get_Block_cfgpred_block ( const ir_node node,
int  pos 
)

Returns the predecessor block.

Returns the block corresponding to the predecessor pos of block.

If we encounter the Bad node as controlflow predecessor NULL is returned.

ir_entity* get_Block_entity ( const ir_node node)

Returns entity attribute of a Block node.

Definition at line 3020 of file gen_irnode.c.

unsigned get_Block_mark ( const ir_node block)

Returns the Block mark (single bit).

int get_Block_matured ( const ir_node block)

Returns the matured flag of a block.

int get_Block_n_cfgpreds ( ir_node const *  node)

Get the number of Block cfgpreds.

Definition at line 506 of file gen_irnode.c.

ir_node* get_Block_phis ( const ir_node block)

Returns the head of the Phi list for this block.

ir_op* get_op_Block ( void  )

Returns opcode for Block nodes.

Definition at line 526 of file gen_irnode.c.

References op_Block.

int is_Block ( const ir_node node)

Test if node is a Block.

Returns
1 if the node is a Block node, 0 otherwise

Definition at line 3015 of file gen_irnode.c.

void mark_Block_block_visited ( ir_node node)

Marks a block as visited by setting its visited counter.

ir_node* new_Block ( int  arity,
ir_node *const *  in 
)

Construct a Block node.

Parameters
aritysize of additional inputs array
inadditional inputs

Definition at line 501 of file gen_irnode.c.

References new_d_Block().

ir_node* new_d_Block ( dbg_info dbgi,
int  arity,
ir_node *const *  in 
)

Construct a Block node.

Parameters
dbgiA pointer to debug information.
aritysize of additional inputs array
inadditional inputs

Definition at line 494 of file gen_irnode.c.

References current_ir_graph, IR_GRAPH_CONSTRAINT_CONSTRUCTION, irg_is_constrained(), and new_rd_Block().

Referenced by new_Block().

ir_node* new_r_Block ( ir_graph irg,
int  arity,
ir_node *const *  in 
)

Construct a Block node.

Parameters
irgThe IR graph the node belongs to.
aritysize of additional inputs array
inadditional inputs

Definition at line 489 of file gen_irnode.c.

References new_rd_Block().

ir_node* new_rd_Block ( dbg_info dbgi,
ir_graph irg,
int  arity,
ir_node *const *  in 
)

Construct a Block node.

Parameters
dbgiA pointer to debug information.
irgThe IR graph the node belongs to.
aritysize of additional inputs array
inadditional inputs

Definition at line 467 of file gen_irnode.c.

References IR_GRAPH_CONSTRAINT_CONSTRUCTION, irg_is_constrained(), mode_BB, NEW_ARR_DZ, new_ir_node(), op_Block, optimize_node(), set_Block_matured(), and verify_new_node().

Referenced by new_d_Block(), and new_r_Block().

void set_Block_block_visited ( ir_node block,
ir_visited_t  visit 
)

set block visited flag

void set_Block_cfgpred ( ir_node node,
int  pos,
ir_node cfgpred 
)

Set the Block cfgpred with index pos.

Definition at line 516 of file gen_irnode.c.

void set_Block_entity ( ir_node node,
ir_entity entity 
)

Sets entity attribute of a Block node.

Definition at line 3025 of file gen_irnode.c.

void set_Block_mark ( ir_node block,
unsigned  mark 
)

Sets the Block mark (single bit).

void set_Block_matured ( ir_node block,
int  matured 
)

set the matured flag of a block.

Referenced by new_rd_Block().

void set_Block_phis ( ir_node block,
ir_node phi 
)

Sets the head of the Phi list for this block.

Variable Documentation

ir_op* op_Block

Block opcode.

Definition at line 805 of file nodes.h.

Referenced by get_Block_cfgpred_arr(), get_op_Block(), new_rd_Block(), and set_typeconst_type().