Commit be74a494 authored by Michael Beck's avatar Michael Beck
Browse files

is_irn_start_block_placed() added\nconst added to skip_Proj()

[r8310]
parent 255d75c4
...@@ -2374,7 +2374,7 @@ get_irn_irg(const ir_node *node) { ...@@ -2374,7 +2374,7 @@ get_irn_irg(const ir_node *node) {
/*----------------------------------------------------------------*/ /*----------------------------------------------------------------*/
ir_node * ir_node *
skip_Proj (ir_node *node) { skip_Proj (const ir_node *node) {
/* don't assert node !!! */ /* don't assert node !!! */
if (node && is_Proj(node)) { if (node && is_Proj(node)) {
return get_Proj_pred(node); return get_Proj_pred(node);
...@@ -2715,6 +2715,13 @@ int (is_irn_keep)(const ir_node *node) { ...@@ -2715,6 +2715,13 @@ int (is_irn_keep)(const ir_node *node) {
return _is_irn_keep(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. */ /* Returns non-zero for nodes that are machine operations. */
int (is_irn_machine_op)(const ir_node *node) { int (is_irn_machine_op)(const ir_node *node) {
return _is_irn_machine_op(node); return _is_irn_machine_op(node);
......
...@@ -1113,7 +1113,7 @@ void set_Pin_op(ir_node *pin, ir_node *node); ...@@ -1113,7 +1113,7 @@ void set_Pin_op(ir_node *pin, ir_node *node);
*/ */
/** returns operand of node if node is a Proj. */ /** 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 */ /** returns operand of node if node is a Id */
ir_node *skip_Id(ir_node *node); /* Old name is skip_nop(). */ ir_node *skip_Id(ir_node *node); /* Old name is skip_nop(). */
/** returns corresponding operand of Tuple if node is a Proj from /** returns corresponding operand of Tuple if node is a Proj from
...@@ -1126,7 +1126,7 @@ ir_node *skip_Confirm(ir_node *node); ...@@ -1126,7 +1126,7 @@ ir_node *skip_Confirm(ir_node *node);
/** Skip all high-level Operations. */ /** Skip all high-level Operations. */
ir_node *skip_HighLevel(ir_node *node); ir_node *skip_HighLevel(ir_node *node);
/** returns true if irn is a Const 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. */ /** returns true if node is a Bad node. */
int is_Bad(const ir_node *node); int is_Bad(const ir_node *node);
/** returns true if node is a Start node. */ /** returns true if node is a Start node. */
...@@ -1211,6 +1211,11 @@ int is_irn_always_opt(const ir_node *node); ...@@ -1211,6 +1211,11 @@ int is_irn_always_opt(const ir_node *node);
*/ */
int is_irn_keep(const ir_node *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. * Returns non-zero for nodes that are machine operations.
*/ */
......
...@@ -867,6 +867,10 @@ static INLINE int _is_irn_keep(const ir_node *node) { ...@@ -867,6 +867,10 @@ static INLINE int _is_irn_keep(const ir_node *node) {
return is_op_keep(_get_irn_op(node)); 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) { static INLINE int _is_irn_machine_op(const ir_node *node) {
return is_op_machine(_get_irn_op(node)); return is_op_machine(_get_irn_op(node));
} }
...@@ -958,6 +962,7 @@ static INLINE unsigned _get_irn_idx(const ir_node *node) { ...@@ -958,6 +962,7 @@ static INLINE unsigned _get_irn_idx(const ir_node *node) {
#define is_irn_constlike(node) _is_irn_constlike(node) #define is_irn_constlike(node) _is_irn_constlike(node)
#define is_irn_always_opt(node) _is_irn_always_opt(node) #define is_irn_always_opt(node) _is_irn_always_opt(node)
#define is_irn_keep(node) _is_irn_keep(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_op(node) _is_irn_machine_op(node)
#define is_irn_machine_operand(node) _is_irn_machine_operand(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) #define is_irn_machine_user(node, n) _is_irn_machine_user(node, n)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment