- add new skip_HighLevel_ops() skipping all Confirm, Cast nodes
[r17169]
ir_node *skip_Cast(ir_node *node);
/** Returns operand of node if node is a Confirm */
ir_node *skip_Confirm(ir_node *node);
ir_node *skip_Cast(ir_node *node);
/** Returns operand of node if node is a Confirm */
ir_node *skip_Confirm(ir_node *node);
-/** Skip all high-level Operations. */
-ir_node *skip_HighLevel(ir_node *node);
+/** Skip all high-level Operations (including Cast, Confirm). */
+ir_node *skip_HighLevel_ops(ir_node *node);
/** Returns true if irn is a Const node. */
int is_Const(const ir_node *node);
/** Returns true if a node is a Conv node. */
/** Returns true if irn is a Const node. */
int is_Const(const ir_node *node);
/** Returns true if a node is a Conv node. */
}
/* skip all high-level ops */
}
/* skip all high-level ops */
-ir_node *skip_HighLevel(ir_node *node) {
- if (is_op_highlevel(get_irn_op(node)))
- return get_irn_n(node, 0);
+ir_node *skip_HighLevel_ops(ir_node *node) {
+ while (is_op_highlevel(get_irn_op(node))) {
+ node = get_irn_n(node, 0);
+ }