projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Changed keep logic: all nodes can be keeped yet, thi is necessary to fix fehler152
[libfirm]
/
ir
/
ir
/
irarch.c
diff --git
a/ir/ir/irarch.c
b/ir/ir/irarch.c
index
3513687
..
549b747
100644
(file)
--- a/
ir/ir/irarch.c
+++ b/
ir/ir/irarch.c
@@
-545,7
+545,7
@@
static ir_node *do_decomposition(ir_node *irn, ir_node *operand, tarval *tv) {
inst = decompose_mul(&env, R, r, tv);
/* the paper suggests 70% here */
inst = decompose_mul(&env, R, r, tv);
/* the paper suggests 70% here */
- mul_costs = (env.evaluate(MUL, tv) * 7) / 10;
+ mul_costs = (env.evaluate(MUL, tv) * 7
+ 5
) / 10;
if (evaluate_insn(&env, inst) <= mul_costs && !env.fail) {
env.op = operand;
env.blk = get_nodes_block(irn);
if (evaluate_insn(&env, inst) <= mul_costs && !env.fail) {
env.op = operand;
env.blk = get_nodes_block(irn);
@@
-634,7
+634,7
@@
static int tv_ld2(tarval *tv, int bits) {
#define SHL(a, b) tarval_shl(a, b)
#define SHR(a, b) tarval_shr(a, b)
#define ADD(a, b) tarval_add(a, b)
#define SHL(a, b) tarval_shl(a, b)
#define SHR(a, b) tarval_shr(a, b)
#define ADD(a, b) tarval_add(a, b)
-#define SUB(a, b) tarval_sub(a, b)
+#define SUB(a, b) tarval_sub(a, b
, NULL
)
#define MUL(a, b) tarval_mul(a, b)
#define DIV(a, b) tarval_div(a, b)
#define MOD(a, b) tarval_mod(a, b)
#define MUL(a, b) tarval_mul(a, b)
#define DIV(a, b) tarval_div(a, b)
#define MOD(a, b) tarval_mod(a, b)