diff options
Diffstat (limited to 'gcc/tree-ssa-dom.c')
-rw-r--r-- | gcc/tree-ssa-dom.c | 5 |
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; } |