{
ir_node *left = get_Cmp_left(cmp);
ir_node *right = get_Cmp_right(cmp);
- ir_op *op;
+ ir_op *op;
const ir_edge_t *edge, *next;
/* Beware of Bads */
op = get_irn_op(left);
+ /* Do not create Confirm nodes for Cmp(Const, Const) constructs.
+ These are removed anyway */
+ if (op == op_Const && is_Const(right))
+ return;
+
/* try to place the constant on the right side for a Confirm */
if (op == op_Const || op == op_SymConst) {
ir_node *t = left;
env_t env;
int edges_active = edges_activated(irg);
- if (get_irg_dom_state(irg) != dom_consistent) {
- /* we need dominance info */
- compute_doms(irg);
- }
+ /* we need dominance info */
+ assure_doms(irg);
assert(get_irg_pinned(irg) == op_pin_state_pinned &&
"Nodes must be placed to insert Confirms");