long proj; /**< For Proj nodes, its proj number */
ir_entity *ent; /**< For Sel Nodes, its entity */
int intVal; /**< For Conv/Div Nodes: strict/remainderless */
+ unsigned uintVal;/**< for Builtin: the kind */
ir_node *block; /**< for Block: itself */
void *ptr; /**< generic pointer for hash/cmp */
} u;
key.u.intVal = get_Conv_strict(irn);
break;
case iro_Div:
- key.u.intVal = is_Div_remainderless(irn);
+ key.u.intVal = get_Div_no_remainder(irn);
break;
case iro_Block:
key.u.block = irn;
case iro_Load:
key.mode = get_Load_mode(irn);
break;
+ case iro_Builtin:
+ key.u.intVal = get_Builtin_kind(irn);
+ break;
default:
break;
}
assert(key.u.intVal == get_Conv_strict(irn));
break;
case iro_Div:
- assert(key.u.intVal == is_Div_remainderless(irn));
+ assert(key.u.intVal == get_Div_no_remainder(irn));
break;
case iro_Block:
assert(key.u.block == irn);
case iro_Load:
assert(key.mode == get_Load_mode(irn));
break;
+ case iro_Builtin:
+ assert(key.u.intVal == (int) get_Builtin_kind(irn));
+ break;
default:
break;
}
return o1->code != o2->code || o1->mode != o2->mode ||
o1->arity != o2->arity ||
o1->u.proj != o2->u.proj ||
- o1->u.intVal != o2->u.intVal ||
+ o1->u.intVal != o2->u.intVal || /* this already checks uIntVal */
o1->u.ptr != o2->u.ptr;
} /* cmp_opcode */
key.u.intVal = get_Conv_strict(irn);
break;
case iro_Div:
- key.u.intVal = is_Div_remainderless(irn);
+ key.u.intVal = get_Div_no_remainder(irn);
break;
case iro_Block:
/*
case iro_Load:
key.mode = get_Load_mode(irn);
break;
+ case iro_Builtin:
+ key.u.intVal = get_Builtin_kind(irn);
+ break;
default:
break;
}
node->type.tv = tarval_reachable;
} else if (selector->type.tv == tarval_top) {
if (tarval_UNKNOWN == tarval_top &&
- pnc == get_Cond_defaultProj(cond)) {
+ pnc == get_Cond_default_proj(cond)) {
/* a switch based of Top is always "default" */
node->type.tv = tarval_reachable;
} else {
}
} else {
long value = get_tarval_long(selector->type.tv);
- if (pnc == get_Cond_defaultProj(cond)) {
+ if (pnc == get_Cond_default_proj(cond)) {
/* default switch, have to check ALL other cases */
int i;
set_irg_extblk_inconsistent(irg);
set_irg_doms_inconsistent(irg);
set_irg_loopinfo_inconsistent(irg);
+ set_irg_entity_usage_state(irg, ir_entity_usage_not_computed);
}
ir_free_resources(irg, IR_RESOURCE_IRN_LINK | IR_RESOURCE_PHI_LIST);