- reenabled callgraph
[libfirm] / include / libfirm / irnode.h
index fb7a3a0..2cde904 100644 (file)
@@ -347,7 +347,7 @@ int   is_value_arg_pointer(ir_node *n);
 /* @@@ no more supported  */
 ir_node **get_Block_cfgpred_arr(ir_node *node);
 int       get_Block_n_cfgpreds(const ir_node *node);
-ir_node  *get_Block_cfgpred(ir_node *node, int pos);
+ir_node  *get_Block_cfgpred(const ir_node *node, int pos);
 void      set_Block_cfgpred(ir_node *node, int pos, ir_node *pred);
 /** Get the predecessor block.
  *
@@ -360,8 +360,8 @@ void      set_Block_cfgpred(ir_node *node, int pos, ir_node *pred);
  *  - If we encounter the Bad node, this function does not return
  *    Start, but the Bad node.
  */
-ir_node  *get_Block_cfgpred_block(ir_node *node, int pos);
-int       get_Block_matured(ir_node *node);
+ir_node  *get_Block_cfgpred_block(const ir_node *node, int pos);
+int       get_Block_matured(const ir_node *node);
 void      set_Block_matured(ir_node *node, int matured);
 
 /** A visited flag only for block nodes.
@@ -381,6 +381,7 @@ void      mark_Block_block_visited(ir_node *node);
 int       Block_not_block_visited(const ir_node *node);
 int       Block_block_visited(const ir_node *node);
 
+#ifdef INTERPROCEDURAL_VIEW
 /* Set and remove interprocedural predecessors. If the interprocedural
  * predecessors are removed, the node has the same predecessors in
  * both views.
@@ -395,6 +396,8 @@ int       get_Block_cg_n_cfgpreds(ir_node *node);
 ir_node  *get_Block_cg_cfgpred(ir_node *node, int pos);
 /** Frees the memory allocated for interprocedural predecessors. */
 void      remove_Block_cg_cfgpred_arr(ir_node *node);
+#endif
+
 /** Returns the extended basic block a block belongs to. */
 ir_extblk *get_Block_extbb(const ir_node *block);
 /** Sets the extended basic block a block belongs to. */
@@ -484,10 +487,13 @@ void      set_Return_res(ir_node *node, int pos, ir_node *res);
 tarval  *get_Const_tarval(const ir_node *node);
 void     set_Const_tarval(ir_node *node, tarval *con);
 
+/** Return non-zero if the given Const node represents the 0 constant. */
 int is_Const_null(const ir_node *node);
 
+/** Return non-zero if the given Const node represents the 1 constant. */
 int is_Const_one(const ir_node *node);
 
+/** Return non-zero if the given Const node represents the constant with all bits set. */
 int is_Const_all_one(const ir_node *node);
 
 /** Returns the source language type of a Const node.
@@ -872,7 +878,7 @@ void     set_Rot_right(ir_node *node, ir_node *right);
 
 ir_node *get_Conv_op(const ir_node *node);
 void     set_Conv_op(ir_node *node, ir_node *op);
-int      get_Conv_strict(ir_node *node);
+int      get_Conv_strict(const ir_node *node);
 void     set_Conv_strict(ir_node *node, int flag);
 
 /* Does Cast need a mem operator?
@@ -1170,6 +1176,7 @@ void    set_Pin_op(ir_node *pin, ir_node *node);
 typedef struct {
        unsigned       pos;           /**< The inputs/output position for this constraint. */
        ident          *constraint;   /**< The constraint for this input/output. */
+       ir_mode        *mode;         /**< The mode of the constraint. */
 } ir_asm_constraint;
 
 /** Return the assembler text of an ASM pseudo node. */
@@ -1212,6 +1219,8 @@ ir_node *skip_HighLevel(ir_node *node);
 int      is_Const(const ir_node *node);
 /** Returns true if a node is a Conv node. */
 int      is_Conv(const ir_node *node);
+/** Returns true if a node is a strictConv node. */
+int      is_strictConv(const ir_node *node);
 /** Returns true if a node is a Cast node. */
 int      is_Cast(const ir_node *node);
 /** Returns true if node is a Bad node. */