libFirm 1.20
Raise node

Raises an exception. More...

Enumerations

enum  n_Raise { n_Raise_mem, n_Raise_exo_ptr, n_Raise_max = n_Raise_exo_ptr }
 Input numbers for Raise node. More...
enum  pn_Raise { pn_Raise_M, pn_Raise_X, pn_Raise_max = pn_Raise_X }
 Projection numbers for result of Raise node (use for Proj nodes) More...

Functions

ir_nodenew_rd_Raise (dbg_info *dbgi, ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node.
ir_nodenew_r_Raise (ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node.
ir_nodenew_d_Raise (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node.
ir_nodenew_Raise (ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node.
int is_Raise (const ir_node *node)
 Test if node is a Raise.
ir_nodeget_Raise_mem (const ir_node *node)
 Returns mem input of a Raise node.
void set_Raise_mem (ir_node *node, ir_node *mem)
 Sets mem input of a Raise node.
ir_nodeget_Raise_exo_ptr (const ir_node *node)
 Returns exo_ptr input of a Raise node.
void set_Raise_exo_ptr (ir_node *node, ir_node *exo_ptr)
 Sets exo_ptr input of a Raise node.
ir_opget_op_Raise (void)
 Returns opcode for Raise nodes.

Variables

ir_opop_Raise
 Raise opcode.

Detailed Description

Raises an exception.

Unconditional change of control flow. Writes an explicit Except variable to memory to pass it to the exception handler. Must be lowered to a Call to a runtime check function.


Enumeration Type Documentation

enum n_Raise

Input numbers for Raise node.

Definition at line 2903 of file nodeops.h.

enum pn_Raise

Projection numbers for result of Raise node (use for Proj nodes)

Enumerator:
pn_Raise_M 

memory result

pn_Raise_X 

control flow to exception handler

Definition at line 2913 of file nodeops.h.


Function Documentation

ir_op* get_op_Raise ( void  )

Returns opcode for Raise nodes.

ir_node* get_Raise_exo_ptr ( const ir_node node)

Returns exo_ptr input of a Raise node.

ir_node* get_Raise_mem ( const ir_node node)

Returns mem input of a Raise node.

int is_Raise ( const ir_node node)

Test if node is a Raise.

Returns:
1 if the node is a Raise node, 0 otherwise
ir_node* new_d_Raise ( dbg_info dbgi,
ir_node irn_mem,
ir_node irn_exo_ptr 
)

Construct a Raise node.

Parameters:
dbgiA pointer to debug information.
irn_memmemory dependency
irn_exo_ptrpointer to exception object to be thrown
ir_node* new_r_Raise ( ir_node block,
ir_node irn_mem,
ir_node irn_exo_ptr 
)

Construct a Raise node.

Parameters:
blockThe IR block the node belongs to.
irn_memmemory dependency
irn_exo_ptrpointer to exception object to be thrown
ir_node* new_Raise ( ir_node irn_mem,
ir_node irn_exo_ptr 
)

Construct a Raise node.

Parameters:
irn_memmemory dependency
irn_exo_ptrpointer to exception object to be thrown
ir_node* new_rd_Raise ( dbg_info dbgi,
ir_node block,
ir_node irn_mem,
ir_node irn_exo_ptr 
)

Construct a Raise node.

Parameters:
dbgiA pointer to debug information.
blockThe IR block the node belongs to.
irn_memmemory dependency
irn_exo_ptrpointer to exception object to be thrown
void set_Raise_exo_ptr ( ir_node node,
ir_node exo_ptr 
)

Sets exo_ptr input of a Raise node.

void set_Raise_mem ( ir_node node,
ir_node mem 
)

Sets mem input of a Raise node.


Variable Documentation

Raise opcode.

Definition at line 299 of file opcodes.h.