libFirm
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. More...
 
ir_nodenew_r_Raise (ir_node *block, ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node. More...
 
ir_nodenew_d_Raise (dbg_info *dbgi, ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node. More...
 
ir_nodenew_Raise (ir_node *irn_mem, ir_node *irn_exo_ptr)
 Construct a Raise node. More...
 
int is_Raise (const ir_node *node)
 Test if node is a Raise. More...
 
ir_nodeget_Raise_mem (const ir_node *node)
 Returns mem input of a Raise node. More...
 
void set_Raise_mem (ir_node *node, ir_node *mem)
 Sets mem input of a Raise node. More...
 
ir_nodeget_Raise_exo_ptr (const ir_node *node)
 Returns exo_ptr input of a Raise node. More...
 
void set_Raise_exo_ptr (ir_node *node, ir_node *exo_ptr)
 Sets exo_ptr input of a Raise node. More...
 
ir_opget_op_Raise (void)
 Returns opcode for Raise nodes. More...
 

Variables

ir_opop_Raise
 Raise opcode. More...
 

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.

Enumerator
n_Raise_mem 

memory dependency

n_Raise_exo_ptr 

pointer to exception object to be thrown

n_Raise_max 

Definition at line 3156 of file nodes.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

pn_Raise_max 

Definition at line 3165 of file nodes.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_memmem
irn_exo_ptrexo_ptr
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_memmem
irn_exo_ptrexo_ptr
ir_node* new_Raise ( ir_node irn_mem,
ir_node irn_exo_ptr 
)

Construct a Raise node.

Parameters
irn_memmem
irn_exo_ptrexo_ptr
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_memmem
irn_exo_ptrexo_ptr
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

ir_op* op_Raise

Raise opcode.

Definition at line 3222 of file nodes.h.