*/
#include "config.h"
-#ifdef HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-
+#include <stdlib.h>
#include <assert.h>
#include "irnode_t.h"
case LEA:
l = build_graph(env, inst->in[0]);
r = build_graph(env, inst->in[1]);
- c = new_Const(env->shf_mode, new_tarval_from_long(inst->shift_count, env->shf_mode));
+ c = new_Const_long(env->shf_mode, inst->shift_count);
r = new_rd_Shl(env->dbg, current_ir_graph, env->blk, r, c, env->mode);
return inst->irn = new_rd_Add(env->dbg, current_ir_graph, env->blk, l, r, env->mode);
case SHIFT:
l = build_graph(env, inst->in[0]);
- c = new_Const(env->shf_mode, new_tarval_from_long(inst->shift_count, env->shf_mode));
+ c = new_Const_long(env->shf_mode, inst->shift_count);
return inst->irn = new_rd_Shl(env->dbg, current_ir_graph, env->blk, l, c, env->mode);
case SUB:
l = build_graph(env, inst->in[0]);
r = build_graph(env, inst->in[1]);
return inst->irn = new_rd_Add(env->dbg, current_ir_graph, env->blk, l, r, env->mode);
case ZERO:
- return inst->irn = new_Const(env->mode, get_mode_null(env->mode));
+ return inst->irn = new_Const(get_mode_null(env->mode));
default:
panic("Unsupported instruction kind");
return NULL;
case ZERO:
inst->costs = costs = env->evaluate(inst->kind, NULL);
return costs;
+ case MUL:
+ case ROOT:
+ break;
}
panic("Unsupported instruction kind");
}
struct ms mag = magic(tv);
/* generate the Mulh instruction */
- c = new_Const(mode, mag.M);
+ c = new_Const(mag.M);
q = new_rd_Mulh(dbg, current_ir_graph, block, n, c, mode);
/* do we need an Add or Sub */
ir_node *c;
/* generate the Mulh instruction */
- c = new_Const(mode, mag.M);
+ c = new_Const(mag.M);
q = new_rd_Mulh(dbg, current_ir_graph, block, n, c, mode);
if (mag.need_add) {
/* use the GM scheme */
t = new_rd_Sub(dbg, current_ir_graph, block, n, q, mode);
- c = new_Const(mode_Iu, get_mode_one(mode_Iu));
+ c = new_Const(get_mode_one(mode_Iu));
t = new_rd_Shr(dbg, current_ir_graph, block, t, c, mode);
t = new_rd_Add(dbg, current_ir_graph, block, t, q, mode);
ir_node *curr = left;
/* create the correction code for signed values only if there might be a remainder */
- if (! is_Div_remainderless(irn)) {
+ if (! get_Div_no_remainder(irn)) {
if (k != 1) {
k_node = new_Const_long(mode_Iu, k - 1);
curr = new_rd_Shrs(dbg, current_ir_graph, block, left, k_node, mode);
if (n_flag) { /* negate the result */
ir_node *k_node;
- k_node = new_Const(mode, get_mode_null(mode));
+ k_node = new_Const(get_mode_null(mode));
res = new_rd_Sub(dbg, current_ir_graph, block, k_node, res, mode);
}
} else { /* unsigned case */
if (n_flag) { /* negate the div result */
ir_node *k_node;
- k_node = new_Const(mode, get_mode_null(mode));
+ k_node = new_Const(get_mode_null(mode));
*div = new_rd_Sub(dbg, current_ir_graph, block, k_node, *div, mode);
}