aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-dom.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-dom.c')
-rw-r--r--gcc/tree-ssa-dom.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c
index e1f30d4..7382d5f 100644
--- a/gcc/tree-ssa-dom.c
+++ b/gcc/tree-ssa-dom.c
@@ -1541,7 +1541,8 @@ record_equivalences_from_incoming_edge (struct dom_walk_data *walk_data,
&& !CASE_HIGH (match_case))
{
eq_expr_value.dst = switch_cond;
- eq_expr_value.src = CASE_LOW (match_case);
+ eq_expr_value.src = fold_convert (TREE_TYPE (switch_cond),
+ CASE_LOW (match_case));
}
}
}
@@ -3489,7 +3490,7 @@ get_eq_expr_value (tree if_stmt,
if (TREE_CODE (cond) == SSA_NAME)
{
retval.dst = cond;
- retval.src = (true_arm ? integer_one_node : integer_zero_node);
+ retval.src = constant_boolean_node (true_arm, TREE_TYPE (cond));
return retval;
}