Used new arch_dep names
[libfirm] / ir / ir / irop.h
index d08e2d1..406168e 100644 (file)
@@ -27,7 +27,7 @@
 
 # include "ident.h"
 
-/** the opcodes */
+/** The opcodes of the libFirm predefined operations. */
 typedef enum {
   iro_Block,
   iro_Start, iro_End, iro_Jmp, iro_Cond, iro_Return, iro_Raise,
@@ -118,7 +118,9 @@ opcode get_op_code(const ir_op *op);
 /** op_pin_state_pinned states */
 typedef enum {
   op_pin_state_floats = 0,    /**< Nodes of this opcode can be placed in any basic block. */
-  op_pin_state_pinned           /**< Nodes must remain in this basic block. */
+  op_pin_state_pinned,        /**< Nodes must remain in this basic block. */
+  op_pin_state_exc_pinned     /**< Node must be remain in this basic block if it can throw an
+                                   exception, else can float. Used internally. */
 } op_pin_state;
 
 /** gets pinned state of an opcode */
@@ -128,4 +130,7 @@ op_pin_state get_op_pinned(const ir_op *op);
    for Block, Phi and control flow nodes. */
 void set_op_pinned(ir_op *op, op_pin_state pinned);
 
+/** Returns the next free IR opcode number, allows to register user ops */
+unsigned get_next_ir_opcode(void);
+
 # endif /* _IROP_H_ */