reorder opcode registration to match iro_* order
[libfirm] / ir / ir / irop.h
index d260096..e096c54 100644 (file)
  * PURPOSE.
  */
 
-/*
- * Project:     libFIRM
- * File name:   ir/ir/irop.h
- * Purpose:     Representation of opcode of intermediate operation.
- * Author:      Christian Schaefer
- * Modified by: Goetz Lindenmaier
- * Created:
- * CVS-ID:      $Id$
- * Copyright:   (c) 1998-2003 Universität Karlsruhe
- */
-
 /**
- * @file irop.h
- *
- * Operators of firm nodes.
- *
- * @author Christian Schaefer
+ * @file
+ * @brief   Representation of opcode of intermediate operation.
+ * @author  Christian Schaefer, Goetz Lindenmaier, Michael Beck
+ * @version $Id$
+ * @summary
+ *  Operators of firm nodes.
  *
  *  This module specifies the opcodes possible for ir nodes.  Their
  *  definition is close to the operations specified in UKA Tech-Report
  *  1999-14
  */
-#ifndef _FIRM_IR_IROP_H_
-#define _FIRM_IR_IROP_H_
+#ifndef FIRM_IR_IROP_H
+#define FIRM_IR_IROP_H
 
 #include "firm_types.h"
 
@@ -102,6 +92,7 @@ typedef enum {
   iro_NoMem, iro_Mux, iro_Psi, iro_CopyB,
   iro_InstOf, iro_Raise, iro_Bound,
   iro_Pin,
+  iro_ASM,
   iro_MaxOpcode
 } ir_opcode;
 
@@ -180,6 +171,8 @@ extern ir_op *op_Bound;           ir_op *get_op_Bound     (void);
 
 extern ir_op *op_Pin;             ir_op *get_op_Pin       (void);
 
+extern ir_op *op_ASM;             ir_op *get_op_ASM       (void);
+
 /** Returns the ident for the opcode name */
 ident *get_op_ident(const ir_op *op);
 
@@ -323,10 +316,10 @@ typedef int (*verify_proj_node_func)(ir_node *self, ir_node *proj);
  * Reasons to call the dump_node operation:
  */
 typedef enum {
-  dump_node_opcode_txt,   /**< dump the opcode */
-  dump_node_mode_txt,     /**< dump the mode */
-  dump_node_nodeattr_txt, /**< dump node attributes to be shown in the label */
-  dump_node_info_txt      /**< dump node attributes into info1 */
+       dump_node_opcode_txt,   /**< dump the opcode */
+       dump_node_mode_txt,     /**< dump the mode */
+       dump_node_nodeattr_txt, /**< dump node attributes to be shown in the label */
+       dump_node_info_txt      /**< dump node attributes into info1 */
 } dump_reason_t;
 
 /**
@@ -340,19 +333,19 @@ typedef int (*dump_node_func)(ir_node *self, FILE *F, dump_reason_t reason);
  * io_op Operations.
  */
 typedef struct {
-  computed_value_func   computed_value;   /**< evaluates a node into a tarval if possible. */
-  equivalent_node_func  equivalent_node;  /**< optimizes the node by returning an equivalent one. */
-  transform_node_func   transform_node;   /**< optimizes the node by transforming it. */
-  node_cmp_attr_func    node_cmp_attr;    /**< compares two node attributes. */
-  reassociate_func      reassociate;      /**< reassociate a tree */
-  copy_attr_func        copy_attr;        /**< copy node attributes */
-  get_type_func         get_type;         /**< return the type of a node */
-  get_type_attr_func    get_type_attr;    /**< return the type attribute of a node */
-  get_entity_attr_func  get_entity_attr;  /**< return the entity attribute of a node */
-  verify_node_func      verify_node;      /**< verify the node */
-  verify_proj_node_func verify_proj_node; /**< verify the Proj node */
-  dump_node_func        dump_node;        /**< dump a node */
-  op_func               generic;          /**< a generic function */
+       computed_value_func   computed_value;   /**< evaluates a node into a tarval if possible. */
+       equivalent_node_func  equivalent_node;  /**< optimizes the node by returning an equivalent one. */
+       transform_node_func   transform_node;   /**< optimizes the node by transforming it. */
+       node_cmp_attr_func    node_cmp_attr;    /**< compares two node attributes. */
+       reassociate_func      reassociate;      /**< reassociate a tree */
+       copy_attr_func        copy_attr;        /**< copy node attributes */
+       get_type_func         get_type;         /**< return the type of a node */
+       get_type_attr_func    get_type_attr;    /**< return the type attribute of a node */
+       get_entity_attr_func  get_entity_attr;  /**< return the entity attribute of a node */
+       verify_node_func      verify_node;      /**< verify the node */
+       verify_proj_node_func verify_proj_node; /**< verify the Proj node */
+       dump_node_func        dump_node;        /**< dump a node */
+       op_func               generic;          /**< a generic function */
 } ir_op_ops;
 
 /**
@@ -380,4 +373,4 @@ ir_op *new_ir_op(ir_opcode code, const char *name, op_pin_state p,
 /** Returns the ir_op_ops of an ir_op. */
 const ir_op_ops *get_op_ops(const ir_op *op);
 
-#endif /* _FIRM_IR_IROP_H_ */
+#endif