/*----------------------------------------------------------------*/
ir_node *
-skip_Proj (ir_node *node) {
+skip_Proj (const ir_node *node) {
/* don't assert node !!! */
if (node && is_Proj(node)) {
return get_Proj_pred(node);
return _is_irn_keep(node);
}
+/*
+ * Returns non-zero for nodes that are always placed in the start block.
+ */
+int (is_irn_start_block_placed)(const ir_node *node) {
+ return _is_irn_start_block_placed(node);
+}
+
/* Returns non-zero for nodes that are machine operations. */
int (is_irn_machine_op)(const ir_node *node) {
return _is_irn_machine_op(node);
*/
/** returns operand of node if node is a Proj. */
-ir_node *skip_Proj(ir_node *node);
+ir_node *skip_Proj(const ir_node *node);
/** returns operand of node if node is a Id */
ir_node *skip_Id(ir_node *node); /* Old name is skip_nop(). */
/** returns corresponding operand of Tuple if node is a Proj from
/** Skip all high-level Operations. */
ir_node *skip_HighLevel(ir_node *node);
/** returns true if irn is a Const node. */
-int is_Const(const ir_node *node);
+int is_Const(const ir_node *node);
/** returns true if node is a Bad node. */
int is_Bad(const ir_node *node);
/** returns true if node is a Start node. */
*/
int is_irn_keep(const ir_node *node);
+/**
+ * Returns non-zero for nodes that are always placed in the start block.
+ */
+int is_irn_start_block_placed(const ir_node *node);
+
/**
* Returns non-zero for nodes that are machine operations.
*/
return is_op_keep(_get_irn_op(node));
}
+static INLINE int _is_irn_start_block_placed(const ir_node *node) {
+ return is_op_start_block_placed(_get_irn_op(node));
+}
+
static INLINE int _is_irn_machine_op(const ir_node *node) {
return is_op_machine(_get_irn_op(node));
}
#define is_irn_constlike(node) _is_irn_constlike(node)
#define is_irn_always_opt(node) _is_irn_always_opt(node)
#define is_irn_keep(node) _is_irn_keep(node)
+#define is_irn_start_block_placed(node) _is_irn_start_block_placed(node)
#define is_irn_machine_op(node) _is_irn_machine_op(node)
#define is_irn_machine_operand(node) _is_irn_machine_operand(node)
#define is_irn_machine_user(node, n) _is_irn_machine_user(node, n)