Correct a subtle bug in the ia32 backend: Sub(x, x) triggered that the Neg+Add trick...
[libfirm] / ir / ir / irtypes.h
index 53e6b20..b78cdd9 100644 (file)
@@ -45,8 +45,7 @@
 #include "set.h"
 #include "list.h"
 #include "obst.h"
-
-struct ir_phase;
+#include "vrp.h"
 
 /** The type of an ir_op. */
 struct ir_op {
@@ -156,7 +155,6 @@ typedef struct {
 
 /** Cond attributes. */
 typedef struct {
-       cond_kind kind;              /**< flavor of Cond */
        long default_proj;           /**< only for non-binary Conds: biggest Proj number, i.e. the one used for default. */
        cond_jmp_predicate jmp_pred; /**< only for binary Conds: The jump predication. */
 } cond_attr;
@@ -383,6 +381,7 @@ struct ir_node {
        struct ir_node **deps;   /**< Additional dependencies induced by state. */
        void            *backend_info;
        irn_edges_info_t edge_info;  /**< Everlasting out edges. */
+
        /* ------- Opcode depending fields -------- */
        attr attr;               /**< The set of attributes of this node. Depends on opcode.
                                      Must be last field of struct ir_node. */