Lines Matching refs:fold_binary
214 (fold_binary): Eliminate "wins" variable, and "binary" label, by
382 fold_single_bit_test_into_sign_test, fold_binary): Likewise.
451 fold_build2 with fold_binary.
455 with fold_binary.
3053 * fold-const.c (fold_binary): Use fold_build2, not
3375 * fold-const.c (fold_binary): Convert -A/-B to A/B for signed types
3444 * fold-const.c (fold_binary): Fold (~a) == C to a == ~C
3826 * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
3923 (fold_binary): Use to canonicalize PLUS_EXPR and MINUS_EXPR
4065 (fold_binary): Fold &x[a] CMP &x[b] to
6023 * fold-const.c (fold_binary): Fix operand types during folding
6714 * fold-const.c (fold_binary): Use op0 and op1 instead of arg0
8710 (fold_binary): Don't call fold after calls to try_move_mult_to_index.
8874 * fold-const (fold_binary): Call fold_build2 instead of fold (build.
9221 fold_binary instead of fold_build2 since we don't care about the
10873 * fold-const.c (fold_binary): Transform "(X | Y) ^ X" to "Y & ~ X".
11003 (fold_binary): Use omit_one_operand when checking EQ_EXPRs or NE_EXPRs
11662 * fold-const.c (fold_binary): When comparing two simple ADDR_EXPR
12204 * fold-const.c (fold_binary): Don't check weakness on
13048 * fold-const.c (fold_binary): Handle the return value of
14561 * fold_const (fold_binary): Fold X % (2**N) to X & (2**N - 1) for
14733 (fold_binary): Don't call them. Don't expand complex comparisons to
15084 * fold-const (fold_binary): Transform (X << C) >> C into X & (-1>>C)
15103 * fold-const.c (fold_binary): Transform (A >> C) << C into
16213 * fold-const.c (fold_binary): Fix type mismatches in folding
16588 * fold-const.c (fold_binary): Ensure we build trees
16661 * fold-const.c (fold_binary): Fix types in strlen vs.
16909 (fold_binary): Explicitly deal with arrays of zero-sized
16991 fold_unary and fold_binary.
17197 * tree-ssa-ccp.c (ccp_fold): Call fold_binary instead of
18374 (fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
19179 (fold_binary): Adjust the callers to always dispatch to
20519 (fold_binary): Fold "bool_var != 0" to bool_var.
21560 * fold-const.c (fold_binary): Use build_fold_addr_expr
21865 * fold-const.c (fold_binary): Fold comparisons of addresses
21891 * fold-const.c (fold_binary): Abort on ASSERT_EXPR.
22349 * fold-const.c (fold_unary, fold_binary, fold_ternary):
22351 * tree-vrp.c (compare_values): Use fold_binary to compare
22354 * tree.h: Add prototypes for fold_unary, fold_binary,
23180 (fold_binary): Call fold_single_bit_test_into_sign_test
23326 * fold-const.c (fold_binary): Fold ~(X ^ Y) to ~X ^ Y or X ^ ~Y if
23331 * fold-const (fold_binary): Fold ~X ^ ~ Y to X ^ Y.
23392 * fold-const (fold_binary): Don't change X % -C to X % C if C has
23450 * fold-const.c (fold_binary): Fold X - c > X and X + c < X to false.
23552 * fold-const.c (fold_binary) <PLUS_EXPR>: Use fold_convert to
23602 (fold_binary): Update comment mentioning fold_relational_hi_lo.
23603 (fold_binary_to_constant): Simplify using fold_binary.
24425 (fold_binary): Likewise.
27698 * fold-const.c (fold_unary, fold_binary): Update comments
27927 * fold-const.c (fold_binary): Fix type mismatch between
27929 (fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
28991 (fold_binary): Optimize comparisons against widened operands if
29594 * fold-const.c (fold_unary, fold_binary, fold_ternary): Return
29599 * fold-const.c (fold_unary, fold_binary): Take decomposed
29600 arguments, code, type, op0, and op1 in case of fold_binary.
29601 (fold): Update calls to fold_unary and fold_binary.
29928 * fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
29930 * fold-const.c (fold_binary): Unroll the very first "for"
29968 * fold-const.c (fold_binary): Use code instead of t.
29972 (fold_binary): Update a call to optimize_minmax_comparison.
29976 (fold_binary): Update a call to fold_range_test.
29980 (fold_binary): Update a call to fold_range_test.
29984 * fold-const.c (fold_binary): Avoid directly using the original
30040 * fold-const.c (fold_binary): New.
30041 (fold): Call fold_binary on binary expressions.