Commit 2e255e4b authored by Johannes Franz's avatar Johannes Franz
Browse files

removed unnecessary test

[r26070]
parent 97b578ff
...@@ -2820,7 +2820,6 @@ static ir_node *transform_node_Div(ir_node *n) { ...@@ -2820,7 +2820,6 @@ static ir_node *transform_node_Div(ir_node *n) {
ir_node *a = get_Div_left(n); ir_node *a = get_Div_left(n);
ir_node *b = get_Div_right(n); ir_node *b = get_Div_right(n);
ir_node *value; ir_node *value;
tarval *tv;
if (is_Const(b) && is_const_Phi(a)) { if (is_Const(b) && is_const_Phi(a)) {
/* check for Div(Phi, Const) */ /* check for Div(Phi, Const) */
...@@ -2848,36 +2847,26 @@ static ir_node *transform_node_Div(ir_node *n) { ...@@ -2848,36 +2847,26 @@ static ir_node *transform_node_Div(ir_node *n) {
} }
value = n; value = n;
tv = value_of(n);
if (tv != tarval_bad) {
value = new_Const(tv);
const ir_node *dummy;
if (a == b && value_not_zero(a, &dummy)) {
/* BEWARE: we can optimize a/a to 1 only if this cannot cause a exception */
value = new_Const(get_mode_one(mode));
DBG_OPT_CSTEVAL(n, value); DBG_OPT_CSTEVAL(n, value);
goto make_tuple; goto make_tuple;
} else { } else {
ir_node *a = get_Div_left(n); if (mode_is_signed(mode) && is_Const(b)) {
ir_node *b = get_Div_right(n); tarval *tv = get_Const_tarval(b);
const ir_node *dummy;
if (a == b && value_not_zero(a, &dummy)) {
/* BEWARE: we can optimize a/a to 1 only if this cannot cause a exception */
value = new_Const(get_mode_one(mode));
DBG_OPT_CSTEVAL(n, value);
goto make_tuple;
} else {
if (mode_is_signed(mode) && is_Const(b)) {
tarval *tv = get_Const_tarval(b);
if (tv == get_mode_minus_one(mode)) { if (tv == get_mode_minus_one(mode)) {
/* a / -1 */ /* a / -1 */
value = new_rd_Minus(get_irn_dbg_info(n), current_ir_graph, get_nodes_block(n), a, mode); value = new_rd_Minus(get_irn_dbg_info(n), current_ir_graph, get_nodes_block(n), a, mode);
DBG_OPT_CSTEVAL(n, value); DBG_OPT_CSTEVAL(n, value);
goto make_tuple; goto make_tuple;
}
} }
/* Try architecture dependent optimization */
value = arch_dep_replace_div_by_const(n);
} }
/* Try architecture dependent optimization */
value = arch_dep_replace_div_by_const(n);
} }
if (value != n) { if (value != n) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment