* @return
* The operations.
*/
-ir_op_ops *firm_set_default_get_type_attr(ir_opcode code, ir_op_ops *ops);
+ir_op_ops *firm_set_default_get_type_attr(unsigned code, ir_op_ops *ops);
/**
* Sets the get_entity_attr operation for an ir_op_ops.
* @return
* The operations.
*/
-ir_op_ops *firm_set_default_get_entity_attr(ir_opcode code, ir_op_ops *ops);
+ir_op_ops *firm_set_default_get_entity_attr(unsigned code, ir_op_ops *ops);
/**
* Returns an array with the predecessors of the Block. Depending on
*/
static inline int _get_irn_arity(const ir_node *node)
{
- return ARR_LEN(node->in) - 1;
+ return (int)(ARR_LEN(node->in) - 1);
}
/**
}
static inline int _get_irn_deps(const ir_node *node) {
- return node->deps ? ARR_LEN(node->deps) : 0;
+ return node->deps ? (int)ARR_LEN(node->deps) : 0;
}
static inline ir_node *_get_irn_dep(const ir_node *node, int pos) {
assert(node->deps && "dependency array node yet allocated. use add_irn_dep()");
- assert(pos >= 0 && pos < ARR_LEN(node->deps) && "dependency index out of range");
+ assert(pos >= 0 && pos < (int)ARR_LEN(node->deps) && "dependency index out of range");
return node->deps[pos];
}
ir_node *old;
assert(node->deps && "dependency array node yet allocated. use add_irn_dep()");
- assert(pos >= 0 && pos < ARR_LEN(node->deps) && "dependency index out of range");
+ assert(pos >= 0 && pos < (int)ARR_LEN(node->deps) && "dependency index out of range");
old = node->deps[pos];
node->deps[pos] = dep;
edges_notify_edge_kind(node, pos, dep, old, EDGE_KIND_DEP, get_irn_irg(node));
{
ir_op *op = _get_irn_op(block);
- if (op == op_Bad)
+ /* we can have Bad, Anchor and Block nodes as block input */
+ if (op == op_Bad) {
return 1;
- else {
+ } else if (op == op_Anchor) {
+ return 0;
+ } else {
assert(op == op_Block);
return block->attr.block.is_dead;
}
return block->attr.irg.irg;
}
-static inline tarval *_get_Const_tarval(const ir_node *node) {
+static inline ir_tarval *_get_Const_tarval(const ir_node *node) {
assert(_get_irn_op(node) == op_Const);
return node->attr.con.tarval;
}