Added PBQP mapping with random costs.
[libfirm] / ir / ir / irnode_t.h
index 9a77b16..ca2472f 100644 (file)
@@ -306,7 +306,7 @@ _set_irn_mode(ir_node *node, ir_mode *mode) {
  * Gets the visited counter of a node.
  * Intern version for libFirm.
  */
-static INLINE unsigned long
+static INLINE ir_visited_t
 _get_irn_visited(const ir_node *node) {
        assert(node);
        return node->visited;
@@ -317,7 +317,7 @@ _get_irn_visited(const ir_node *node) {
  * Intern version for libFirm.
  */
 static INLINE void
-_set_irn_visited(ir_node *node, unsigned long visited) {
+_set_irn_visited(ir_node *node, ir_visited_t visited) {
        assert(node);
        node->visited = visited;
 }
@@ -493,6 +493,12 @@ _is_Add(const ir_node *node) {
        return (_get_irn_op(node) == op_Add);
 }
 
+static INLINE int
+_is_Carry(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Carry);
+}
+
 static INLINE int
 _is_And(const ir_node *node) {
        assert(node);
@@ -792,14 +798,14 @@ _get_Block_cfgpred_block(const ir_node *node, int pos) {
        return res;
 }
 
-static INLINE unsigned long
+static INLINE ir_visited_t
 _get_Block_block_visited(const ir_node *node) {
        assert(node->op == op_Block);
        return node->attr.block.block_visited;
 }
 
 static INLINE void
-_set_Block_block_visited(ir_node *node, unsigned long visit) {
+_set_Block_block_visited(ir_node *node, ir_visited_t visit) {
        assert(node->op == op_Block);
        node->attr.block.block_visited = visit;
 }
@@ -811,12 +817,6 @@ _mark_Block_block_visited(ir_node *node) {
        node->attr.block.block_visited = get_irg_block_visited(current_ir_graph);
 }
 
-static INLINE int
-_Block_not_block_visited(const ir_node *node) {
-       assert(node->op == op_Block);
-       return (node->attr.block.block_visited < get_irg_block_visited(current_ir_graph));
-}
-
 static INLINE int
 _Block_block_visited(const ir_node *node) {
        assert(node->op == op_Block);
@@ -1072,6 +1072,7 @@ _is_arg_Proj(const ir_node *node) {
 #define is_DivMod(node)                       _is_DivMod(node)
 #define is_Quot(node)                         _is_Quot(node)
 #define is_Add(node)                          _is_Add(node)
+#define is_Carry(node)                        _is_Carry(node)
 #define is_And(node)                          _is_And(node)
 #define is_Or(node)                           _is_Or(node)
 #define is_Eor(node)                          _is_Eor(node)
@@ -1092,7 +1093,6 @@ _is_arg_Proj(const ir_node *node) {
 #define get_Block_block_visited(node)         _get_Block_block_visited(node)
 #define set_Block_block_visited(node, visit)  _set_Block_block_visited(node, visit)
 #define mark_Block_block_visited(node)        _mark_Block_block_visited(node)
-#define Block_not_block_visited(node)         _Block_not_block_visited(node)
 #define Block_block_visited(node)             _Block_block_visited(node)
 #define set_Block_dead(block)                 _set_Block_dead(block)
 #define is_Block_dead(block)                  _is_Block_dead(block)