This implements the last pattern from fold_unary that covers inputs that can come from a GIMPLE_UNARY_RHS assignment and thus allows removal of the fold_unary dispatch from fold_stmt and gimple_fold_stmt_to_constant_1. Remember that to not cause regressions it is enough to cover cases that do not need SSA name use-def following. Also remember that gimple_simplify still dispatches to fold_unary for all tcc_constant operands.
The next goal is obviously to remove the GIMPLE_BINARY_RHS and GIMPLE_TERNARY_RHS dispatches to fold_binary/ternary. Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. Richard. 2014-10-31 Richard Biener <rguent...@suse.de> * match.pd: Add two abs patterns. Announce tree_expr_nonnegative_p. * fold-const.c (fold_unary_loc): Remove them here. (tree_unary_nonnegative_warnv_p): Use CASE_CONVERT. * gimple-fold.c (fold_gimple_assign): Remove now obsolete GIMPLE_UNARY_RHS case. (gimple_fold_stmt_to_constant_1): Likewise.
mas-merge-10
Description: Binary data