projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove pointless local variables.
[libfirm]
/
ir
/
ir
/
irarch.c
diff --git
a/ir/ir/irarch.c
b/ir/ir/irarch.c
index
0df9fdb
..
4b1ab62
100644
(file)
--- a/
ir/ir/irarch.c
+++ b/
ir/ir/irarch.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 1995-20
08
University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-20
11
University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
*
* This file is part of libFirm.
*
@@
-674,7
+674,7
@@
static struct ms magic(ir_tarval *d)
int bits = get_mode_size_bits(u_mode);
int p;
ir_tarval *ad, *anc, *delta, *q1, *r1, *q2, *r2, *t; /* unsigned */
int bits = get_mode_size_bits(u_mode);
int p;
ir_tarval *ad, *anc, *delta, *q1, *r1, *q2, *r2, *t; /* unsigned */
-
pn_Cmp
d_cmp, M_cmp;
+
ir_relation
d_cmp, M_cmp;
ir_tarval *bits_minus_1, *two_bits_1;
ir_tarval *bits_minus_1, *two_bits_1;
@@
-703,7
+703,7
@@
static struct ms magic(ir_tarval *d)
q1 = ADD(q1, q1); /* Update q1 = 2^p/|nc| */
r1 = ADD(r1, r1); /* Update r1 = rem(2^p, |nc|) */
q1 = ADD(q1, q1); /* Update q1 = 2^p/|nc| */
r1 = ADD(r1, r1); /* Update r1 = rem(2^p, |nc|) */
- if (CMP(r1, anc) &
pn_Cmp_Ge
) {
+ if (CMP(r1, anc) &
ir_relation_greater_equal
) {
q1 = ADD(q1, ONE(u_mode));
r1 = SUB(r1, anc);
}
q1 = ADD(q1, ONE(u_mode));
r1 = SUB(r1, anc);
}
@@
-711,17
+711,17
@@
static struct ms magic(ir_tarval *d)
q2 = ADD(q2, q2); /* Update q2 = 2^p/|d| */
r2 = ADD(r2, r2); /* Update r2 = rem(2^p, |d|) */
q2 = ADD(q2, q2); /* Update q2 = 2^p/|d| */
r2 = ADD(r2, r2); /* Update r2 = rem(2^p, |d|) */
- if (CMP(r2, ad) &
pn_Cmp_Ge
) {
+ if (CMP(r2, ad) &
ir_relation_greater_equal
) {
q2 = ADD(q2, ONE(u_mode));
r2 = SUB(r2, ad);
}
delta = SUB(ad, r2);
q2 = ADD(q2, ONE(u_mode));
r2 = SUB(r2, ad);
}
delta = SUB(ad, r2);
- } while (CMP(q1, delta) &
pn_Cmp_Lt || (CMP(q1, delta) & pn_Cmp_Eq && CMP(r1, ZERO(u_mode)) & pn_Cmp_Eq
));
+ } while (CMP(q1, delta) &
ir_relation_less || (CMP(q1, delta) & ir_relation_equal && CMP(r1, ZERO(u_mode)) & ir_relation_equal
));
d_cmp = CMP(d, ZERO(mode));
d_cmp = CMP(d, ZERO(mode));
- if (d_cmp &
pn_Cmp_Ge
)
+ if (d_cmp &
ir_relation_greater_equal
)
mag.M = ADD(CNV(q2, mode), ONE(mode));
else
mag.M = SUB(ZERO(mode), ADD(CNV(q2, mode), ONE(mode)));
mag.M = ADD(CNV(q2, mode), ONE(mode));
else
mag.M = SUB(ZERO(mode), ADD(CNV(q2, mode), ONE(mode)));
@@
-731,10
+731,10
@@
static struct ms magic(ir_tarval *d)
mag.s = p - bits;
/* need an add if d > 0 && M < 0 */
mag.s = p - bits;
/* need an add if d > 0 && M < 0 */
- mag.need_add = d_cmp &
pn_Cmp_Gt && M_cmp & pn_Cmp_Lt
;
+ mag.need_add = d_cmp &
ir_relation_greater && M_cmp & ir_relation_less
;
/* need a sub if d < 0 && M > 0 */
/* need a sub if d < 0 && M > 0 */
- mag.need_sub = d_cmp &
pn_Cmp_Lt && M_cmp & pn_Cmp_Gt
;
+ mag.need_sub = d_cmp &
ir_relation_less && M_cmp & ir_relation_greater
;
tarval_set_integer_overflow_mode(rem);
tarval_set_integer_overflow_mode(rem);
@@
-782,7
+782,7
@@
static struct mu magicu(ir_tarval *d)
do {
++p;
do {
++p;
- if (CMP(r1, SUB(nc, r1)) &
pn_Cmp_Ge
) {
+ if (CMP(r1, SUB(nc, r1)) &
ir_relation_greater_equal
) {
q1 = ADD(ADD(q1, q1), ONE(mode));
r1 = SUB(ADD(r1, r1), nc);
}
q1 = ADD(ADD(q1, q1), ONE(mode));
r1 = SUB(ADD(r1, r1), nc);
}
@@
-791,15
+791,15
@@
static struct mu magicu(ir_tarval *d)
r1 = ADD(r1, r1);
}
r1 = ADD(r1, r1);
}
- if (CMP(ADD(r2, ONE(mode)), SUB(d, r2)) &
pn_Cmp_Ge
) {
- if (CMP(q2, seven_ff) &
pn_Cmp_Ge
)
+ if (CMP(ADD(r2, ONE(mode)), SUB(d, r2)) &
ir_relation_greater_equal
) {
+ if (CMP(q2, seven_ff) &
ir_relation_greater_equal
)
magu.need_add = 1;
q2 = ADD(ADD(q2, q2), ONE(mode));
r2 = SUB(ADD(ADD(r2, r2), ONE(mode)), d);
}
else {
magu.need_add = 1;
q2 = ADD(ADD(q2, q2), ONE(mode));
r2 = SUB(ADD(ADD(r2, r2), ONE(mode)), d);
}
else {
- if (CMP(q2, two_bits_1) &
pn_Cmp_Ge
)
+ if (CMP(q2, two_bits_1) &
ir_relation_greater_equal
)
magu.need_add = 1;
q2 = ADD(q2, q2);
magu.need_add = 1;
q2 = ADD(q2, q2);
@@
-807,7
+807,7
@@
static struct mu magicu(ir_tarval *d)
}
delta = SUB(SUB(d, ONE(mode)), r2);
} while (p < 2*bits &&
}
delta = SUB(SUB(d, ONE(mode)), r2);
} while (p < 2*bits &&
- (CMP(q1, delta) &
pn_Cmp_Lt || (CMP(q1, delta) & pn_Cmp_Eq && CMP(r1, ZERO(mode)) & pn_Cmp_Eq
)));
+ (CMP(q1, delta) &
ir_relation_less || (CMP(q1, delta) & ir_relation_equal && CMP(r1, ZERO(mode)) & ir_relation_equal
)));
magu.M = ADD(q2, ONE(mode)); /* Magic number */
magu.s = p - bits; /* and shift amount */
magu.M = ADD(q2, ONE(mode)); /* Magic number */
magu.s = p - bits; /* and shift amount */
@@
-925,6
+925,11
@@
ir_node *arch_dep_replace_div_by_const(ir_node *irn)
left = get_Div_left(irn);
mode = get_irn_mode(left);
left = get_Div_left(irn);
mode = get_irn_mode(left);
+
+ /* can only handle integer Div's */
+ if (!mode_is_int(mode))
+ return irn;
+
block = get_irn_n(irn, -1);
dbg = get_irn_dbg_info(irn);
block = get_irn_n(irn, -1);
dbg = get_irn_dbg_info(irn);