/* We can only compute this if the right value is a constant*/
if (is_Const(right)) {
- ir_tarval *bits_set, *bits_not_set;
- bits_set = tarval_rotl(vrp_left->bits_set, get_Const_tarval(right));
- bits_not_set = tarval_rotl(vrp_left->bits_not_set, get_Const_tarval(right));
+ new_bits_set = tarval_rotl(vrp_left->bits_set, get_Const_tarval(right));
+ new_bits_not_set = tarval_rotl(vrp_left->bits_not_set, get_Const_tarval(right));
}
break;
}
/* if something changed, add successors to worklist*/
for (i = get_irn_n_outs(node) - 1; i >= 0; --i) {
succ = get_irn_out(node, i);
- waitq_put(env->workqueue, node);
+ waitq_put(env->workqueue, succ);
}
}
}
* (Some blocks need to be removed once again.)
* Returns 1 if the given block belongs to the condition chain.
*/
-static unsigned find_condition_chain(ir_node *block)
+static void find_condition_chain(ir_node *block)
{
const ir_edge_t *edge;
unsigned mark = 0;
* continuing with another subtree. */
if (loop_info.cc_size + nodes_n > opt_params.max_cc_size) {
set_Block_mark(block, 0);
- return 0;
+ return;
}
/* Check if block only has a jmp instruction. */
if (is_in_loop(src) && ! irn_visited(src))
find_condition_chain(src);
}
-
- return mark;
}
/**
if (! is_Jmp(pred) && ! is_Raise(pred) && !is_Bad(pred))
continue;
- preds[k].pred = pred;
- preds[k].index = i;
+ preds[k++].pred = pred;
+ preds[k++].index = i;
}
if (k > 1)
n_params = get_Call_n_params(call);
- /* Beware: we cannot clone variadic parameters as well as the
+ /* TODO
+ * Beware: we cannot clone variadic parameters as well as the
* last non-variadic one, which might be needed for the va_start()
* magic
*/