mirror of git://gcc.gnu.org/git/gcc.git
genmatch.c (simplify::for_subst_vec): New member.
2015-08-03 Richard Biener <rguenther@suse.de> * genmatch.c (simplify::for_subst_vec): New member. (binary_ok): New helper for for lowering. (lower_for): Delay substituting operators into result expressions if we can merge the results eventually again. (capture_info::walk_result): Adjust for user_id appearing as result expression operator. (expr::gen_transform): Likewise. (dt_simplify::gen_1): Likewise. (dt_simplify::gen): Pass not substituted operators to tail functions or initialize local variable with it. (decision_tree::gen): Adjust function signature. * match.pd: Fix tests against global code and add default cases to switch stmts. From-SVN: r226505
This commit is contained in:
parent
d4b71b95fe
commit
5030111533
|
|
@ -945,7 +945,7 @@ along with GCC; see the file COPYING3. If not see
|
|||
(if (low >= prec)
|
||||
(if (op == LROTATE_EXPR || op == RROTATE_EXPR)
|
||||
(op @0 { build_int_cst (TREE_TYPE (@1), low % prec); })
|
||||
(if (TYPE_UNSIGNED (type) || code == LSHIFT_EXPR)
|
||||
(if (TYPE_UNSIGNED (type) || op == LSHIFT_EXPR)
|
||||
{ build_zero_cst (type); }
|
||||
(op @0 { build_int_cst (TREE_TYPE (@1), prec - 1); })))
|
||||
(op @0 { build_int_cst (TREE_TYPE (@1), low); })))))))
|
||||
|
|
@ -1955,7 +1955,7 @@ along with GCC; see the file COPYING3. If not see
|
|||
(cmp @0 REAL_CST@1)
|
||||
(if (REAL_VALUE_ISNAN (TREE_REAL_CST (@1))
|
||||
&& (cmp != LTGT_EXPR || ! flag_trapping_math))
|
||||
{ constant_boolean_node (cmp == ORDERED_EXPR || code == LTGT_EXPR
|
||||
{ constant_boolean_node (cmp == ORDERED_EXPR || cmp == LTGT_EXPR
|
||||
? false : true, type); })))
|
||||
|
||||
/* bool_var != 0 becomes bool_var. */
|
||||
|
|
@ -2020,6 +2020,8 @@ along with GCC; see the file COPYING3. If not see
|
|||
x = build_real (type, dconst10);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
}
|
||||
(mult (logs { x; }) @0))))
|
||||
|
|
@ -2042,6 +2044,8 @@ along with GCC; see the file COPYING3. If not see
|
|||
x = build_real (type, real_value_truncate (TYPE_MODE (type),
|
||||
dconst_third ()));
|
||||
break;
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
}
|
||||
(mult { x; } (logs @0)))))
|
||||
|
|
|
|||
Loading…
Reference in New Issue