aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
AgeCommit message (Collapse)AuthorFilesLines
2004-05-21fold-const.c (fold, [...]): Use fold_convert instead of convert.Roger Sayle1-11/+11
* fold-const.c (fold, fold_relational_hi_lo, nondestructive_fold_binary_to_constant, fold_read_from_constant_string): Use fold_convert instead of convert. * builtins.c (simplify_builtin, simplify_builtin_strstr, simplify_builtin_strchr, simplify_builtin_strrchr, simplify_builtin_strpbrk): Use fold_convert instead of convert. From-SVN: r82102
2004-05-21tree.c (array_type_nelts, [...]): Replace build with build2.Roger Sayle1-533/+550
* tree.c (array_type_nelts, save_expr, substitute_in_expr, get_unwidened, get_narrower): Replace build with build2. * fold-const.c (negate_expr, associate_trees, size_binop, fold_convert, eval_subst, omit_one_operand, invert_truthvalue, pedantic_omit_one_operand, distribute_bit_expr, make_bit_field_ref, optimize_bit_field_compare, decode_field_reference, range_binop, make_range, build_range_check, fold_range_test, fold_truthop, optimize_minmax_comparison, extract_muldiv_1, fold_binary_op_with_conditional_arg, fold_mathfn_compare, fold_inf_compare, fold_single_bit_test, fold, fold_relational_hi_lo, nondestructive_fold_binary_to_constant): Likewise replace build with either build2 or build3. From-SVN: r82083
2004-05-20re PR middle-end/3074 (Statement with no effect not flagged with -Wall)Roger Sayle1-171/+14
PR middle-end/3074 * fold-const.c (strip_compound_expr): Delete function. (count_cond): Delete function. (fold_binary_op_with_conditional_arg): Only perform transformations "a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a" when a is constant. This greatly simplifies this routine. * tree.c (saved_expr_p): Delete function. * tree.h (saved_expr_p): Delete function prototype. * gcc.dg/pr3074-1.c: New test case. * gcc.dg/sequence-pt-1.c: Remove an XFAIL. From-SVN: r82071
2004-05-19fold-const.c: Remove non-printable character 160.Paolo Bonzini1-1/+1
2004-05-19 Paolo Bonzini <bonzini@gnu.org> * fold-const.c: Remove non-printable character 160. From-SVN: r82024
2004-05-15c-gimplify.c (c_genericize): Replace calls via (*lang_hooks.foo) with ↵Steven Bosscher1-3/+3
lang_hooks.foo. * c-gimplify.c (c_genericize): Replace calls via (*lang_hooks.foo) with lang_hooks.foo. * c-parse.in <expr_no_commas>: Likewise. <if_prefix>: Likewise. <select_or_iter_stmt>: Likewise. * expr.c (expand_var, expand_expr_real_1): Likewise. * expr.h (expand_expr): Make it a static inline function. Move prototype for expand_expr_real up before this. * fold-const.c (fold_relational_hi_lo, fold_relational_const): Likewise. * gimplify.c (gimple_boolify, gimplify_addr_expr, gimplify_asm_expr, gimplify_expr): Likewise. * tree-cfg.c (dump_tree_cfg, dump_cfg_stats, tree_cfg2vcg, dump_function_to_file): Likewise. * tree-dfa.c (dump_immediate_uses, dump_dfa_stats): Likewise. * tree-inline.c (remap_block, save_body, walk_tree): Likewise. * tree-into-ssa.c (dump_tree_ssa): Likewise. * tree-mudflap.c (mf_varname_tree, mf_file_function_line_tree): Likewise. * tree-optimize.c (execute_one_pass): Likewise. * tree-pretty-print.c (dump_generic_bb_buff): Likewise. * tree-ssa-alias.c (dump_alias_stats, dump_alias_info): Likewise. objc/ * objc-act.c (objc_build_try_enter_fragment, objc_build_try_epilogue, objc_build_catch_stmt, objc_build_finally_prologue): Replace calls via (*lang_hooks.foo) with lang_hooks.foo (). From-SVN: r81907
2004-05-13Merge tree-ssa-20020619-branch into mainline.Diego Novillo1-61/+716
From-SVN: r81764
2004-05-08fold-const.c (fold_div_compare): New function to optimize X/C1 op C2 where ↵Roger Sayle1-0/+165
op is a comparison operator and C1... * fold-const.c (fold_div_compare): New function to optimize X/C1 op C2 where op is a comparison operator and C1 and C2 are integer constants into a range check. (fold): Call fold_div_compare. * gcc.c-torture/execute/divcmp-1.c: New test case. * gcc.c-torture/execute/divcmp-2.c: New test case. * gcc.c-torture/execute/divcmp-3.c: New test case. From-SVN: r81645
2004-05-02fold-const.c (fold_convert_const, fold): Add missing FIX_ROUND_EXPR case.Kaveh R. Ghazi1-0/+5
* fold-const.c (fold_convert_const, fold): Add missing FIX_ROUND_EXPR case. From-SVN: r81410
2004-04-30bb-reorder.c, [...]: Fix comment typos.Kazu Hirata1-1/+1
* bb-reorder.c, c-opts.c, cfglayout.c, cgraph.c, cgraphunit.c, cppfiles.c, fold-const.c, ggc-zone.c, loop-doloop.c, optabs.c, reg-stack.c, varasm.c, config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md, config/arm/arm.c, config/c4x/c4x.c, config/c4x/c4x.md, config/cris/cris.c, config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.c, config/frv/frv.h, config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c, config/i386/i386.md, config/i386/winnt.c, config/ia64/itanium2.md, config/ip2k/ip2k.c, config/mips/mips.c, config/mips/mips.h, config/mips/sr71k.md, config/pa/pa.c, config/s390/s390.c, config/sh/sh.c: Fix comment typos. From-SVN: r81345
2004-04-29builtins.c, [...]: Fix comment typos.Kazu Hirata1-1/+1
* builtins.c, cgraph.c, cgraphunit.c, final.c, fold-const.c: Fix comment typos. From-SVN: r81291
2004-04-26fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to fold (build1 ↵Roger Sayle1-5/+17
(NEGATE_EXPR, ...)). * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to fold (build1 (NEGATE_EXPR, ...)). Optimize X / -1 as -X and X % -1 as 0. From-SVN: r81177
2004-04-20fold-const.c (fold_convert): Make function extern/public.Roger Sayle1-2/+1
* fold-const.c (fold_convert): Make function extern/public. * tree.h (fold_convert): Prototype here. * builtins.c (expand_builtin_strstr, expand_builtin_strchr, expand_builtin_strrchr, expand_builtin_strpbrk, expand_builtin_mempcpy, expand_builtin_bcopy, expand_builtin_bzero, expand_builtin_memcmp, expand_builtin_strcmp, expand_builtin_strncmp, stabilize_va_list, expand_builtin_sprintf, fold_trunc_transparent_mathfn, fold_builtin_logarithm, fold_builtin_exponent, fold_builtin_mempcpy, fold_builtin_strcpy, fold_builtin_strcmp, fold_builtin_strncmp, fold_builtin_signbit, fold_builtin_isdigit, fold_builtin): Prefer fold_convert to "convert" or "fold (build1 (NOP_EXPR, ...))". From-SVN: r80878
2004-04-14builtins.c (fold_builtin_cabs, [...]): Use `mathfn_built_in' to determine ↵Kaveh R. Ghazi1-49/+4
the new builtin. * builtins.c (fold_builtin_cabs, fold_builtin): Use `mathfn_built_in' to determine the new builtin. * fold-const.c (fold): Likewise. From-SVN: r80680
2004-04-11fold-const.c (fold_binary_op_with_conditional_arg): Tweak calling convention ↵Roger Sayle1-28/+37
to allow a NULL_TREE to be returned. * fold-const.c (fold_binary_op_with_conditional_arg): Tweak calling convention to allow a NULL_TREE to be returned. Factor sanity checks from callers, return NULL_TREE when appropriate. (fold): Handle COMPOUND_EXPR operands of binary expressions before COND_EXPR operands. Use reorder_operands_p(a,b) to check whether a op (b,c) can be rewritten as (b, a op c). Simplify calls to fold_binary_op_with_conditional_arg. From-SVN: r80609
2004-04-03fold-const.c (fold): Guard (-A)+B -> B-A transformation with reorder_operands_p.Roger Sayle1-2/+3
* fold-const.c (fold) <PLUS_EXPR>: Guard (-A)+B -> B-A transformation with reorder_operands_p. From-SVN: r80381
2004-04-01* fold-const.c (folda): Preserve types of comparisons.Waldek Hebisch1-7/+7
From-SVN: r80327
2004-04-01re PR c++/14755 (miscompilation in bitfielded signed integers)Jakub Jelinek1-22/+8
PR c++/14755 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in "bitfld++ == const" to "++bitfld == const + incr" transformations. * gcc.c-torture/execute/20040331-1.c: New test. * gcc.dg/20040331-1.c: New test. From-SVN: r80294
2004-04-01expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED.Richard Kenner1-1/+1
* expr.c (get_inner_reference): Use DECL_UNSIGNED, not TREE_UNSIGNED. * stor-layout.c (layout_decl): Likewise. * tree.c (get_narrower): Likewise and also use BIT_FIELD_REF_UNSIGNED. * fold-const.c (make_bit_field_ref): Use BIT_FIELD_REF_UNSIGNED. * print-tree.c (print_node): Handle various used of unsigned_flag. * tree.def (BIT_FIELD_REF): Update comment. * tree.h (TREE_UNSIGNED): Deleted. (DECL_UNSIGNED, BIT_FIELD_REF_UNSIGNED): New macros. * cp/class.c (VTT_TOP_LEVEL_P): Use unsigned_flag directly. * f/com.c (ffe_truthvalue_conversion, case COMPONENT_REF): Use DECL_UNSIGNED and integer_onep. From-SVN: r80293
2004-03-31builtins.c, [...]: Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED.Richard Kenner1-55/+59
* builtins.c, c-aux-info.c, c-common.c, c-cppbuiltin.c, c-decl.c: Change most occurrences of TREE_UNSIGNED to TYPE_UNSIGNED. * c-format.c, c-opts.c, c-pretty-print.c, c-typeck.c: Likewise. * calls.c, convert.c, dbxout.c, dojump.c, dwarf2out.c: Likewise. * expmed.c, expr.c, fold-const.c, function.c, integrate.c: Likewise. * optabs.c, sdbout.c, stmt.c, stor-layout.c, tree-dump.c: Likewise. * tree.c, config/iq2000/iq2000.c, config/m32r/m32r.c: Likewise. * config/mips/mips.c, config/rs6000/rs6000.c: Likewise. * config/s390/s390.c, config/sparc/sparc.c, objc/objc-act.c: Likewise. * stor-layout.c (layout_type, case COMPLEX_TYPE): Test for REAL_TYPE, not INTEGER_TYPE. (layout_type, case VECTOR_TYPE): Simplify code. * tree.c (build_vector_type_for_mode): Remove dup unsigned setting. * tree.h: Update comments. (STRIP_NOPS): Use TYPE_UNSIGNED. (TYPE_UNSIGNED): New macro. (TYPE_TRAP_SIGNED): Remove now redundant check. (SAVE_EXPR_NOPLACEHOLDER): Don't use TREE_UNSIGNED. * cp/call.c (joust): Use TYPE_UNSIGNED, not TREE_UNSIGNED. * cp/class.c (check_bitfield_decl): Likewise. * cp/cvt.c (type_promotes_to): Likewise. * cp/decl.c (finish_enum): Likewise. * cp/mangle.c (write_builtin_type): Likewise. * cp/semantics.c (finish_switch_cond, finish_unary_op_expr): Likewise. * cp/typeck.c (type_after_usual_arithmetic_conversions): Likewise. (build_binary_op): Likewise. * f/com.c (ffecom_arrayref_): Use TYPE_UNSIGNED, not TREE_UNSIGNED. (ffecom_expr_): Likewise. * java/jcf-write.c (generate_bytecode_insns): Use TYPE_UNSIGNED. * treelang/treetree.c (tree_lang_signed_or_unsigned_type): Use TYPE_UNSIGNED, not TREE_UNSIGNED. * ada/decl.c (gnat_to_gnu_entity, make_type_from_size): Use TYPE_UNSIGNED, not TREE_UNSIGNED. * ada/trans.c (tree_transform, convert_with_check): Likewise. * ada/utils.c (gnat_signed_or_unsigned_type): Likewise. (build_vms_descriptor, unchecked_convert): Likewise. * ada/utils2.c (nonbinary_modular_operation): Likewise. From-SVN: r80287
2004-03-30Reassociate multiply expression with an adjacent non-multiply expression.Fariborz Jahanian1-0/+30
Reviewed by Roger Sayle. From-SVN: r80093
2004-03-26fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like BIT_IOR_EXPR...Roger Sayle1-0/+1
* fold-const.c (tree_expr_nonnegative_p): Handle BIT_XOR_EXPR like BIT_IOR_EXPR; A^B is nonnegative when A and B are nonnegative. * gcc.dg/compare8.c: Add an additional test for XOR. From-SVN: r79979
2004-03-25builtins.c (fold_builtin): Add new builtin optimizations for sqrt and/or cbrt.Kaveh R. Ghazi1-7/+8
* builtins.c (fold_builtin): Add new builtin optimizations for sqrt and/or cbrt. * fold-const.c (fold): Likewise. testsuite: * gcc.dg/torture/builtin-explog-1.c: Add new cases. * gcc.dg/torture/builtin-math-1.c: Likewise. * builtin-power-1.c: New test. From-SVN: r79959
2004-03-23fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is ↵Roger Sayle1-0/+11
nonnegative or B is nonnegative. * fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is nonnegative or B is nonnegative. Similarly A|B is nonnegative when both A and B are nonnegative. (tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is nonzero. From-SVN: r79870
2004-03-23fold-const.c (fold): Remove cases for INTEGER_CST...Kazu Hirata1-8/+0
* fold-const.c (fold): Remove cases for INTEGER_CST, REAL_CST, VECTOR_CST, STRING_CST, COMPLEX_CST, and CONSTRUCTOR. From-SVN: r79862
2004-03-23re PR rtl-optimization/14669 (Wrong code with -O for enum values expression ↵Roger Sayle1-0/+3
E4 <= t && t <= E6) 2004-03-23 Kazu Hirata <kazu@cs.umass.edu> PR optimization/14669 * fold-const.c (fold): Only unwiden integer comparisons for equality or inequality operators, or when the signedness is the same. * g++.dg/opt/fold2.C: New test case. From-SVN: r79859
2004-03-21alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR.Richard Kenner1-11/+0
* alias.c (get_alias_set): Remove handling of PLACEHOLDER_EXPR. * emit-rtl.c (component_ref_for_mem_expr): Likewise. (set_mem_attributes_minus_bitpos): Call SUBSTITUTE_PLACEHOLDER_IN_EXPR. * explow.c (expr_size): Likewise. * expr.h (placeholder_list, find_placeholder): Deleted. * expr.c (store_constructor): Likewise. (get_inner_reference): Likewise. Also don't call find_placeholder. (placeholder_list, find_placeholder): Deleted. (is_aligning_offset): Don't handle WITH_RECORD_EXPR, PLACEHOLDER_EXPR. (expand_expr_real, cases PLACEHOLDER_EXPR, WITH_RECORD_EXPR): Likewise. (highest_pow2_factor, case WITH_RECORD_EXPR): Remove. * dojump.c (do_jump, case WITH_RECORD_EXPR): Likewise. * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): Likewise. * fold-const.c (invert_truthvalue, case WITH_RECORD_EXPR): Likewise. (extract_muldiv, case WITH_RECORD_EXPR): Likewise. * tree.c (expr_align, case WITH_RECORD_EXPR): Likewise. (contains_placeholder_p): Don't handle WITH_RECORD_EXPR. Clean up by using first_rtl_op. (substitute_in_expr): Use SUBSTITUTE_IN_EXPR for recursive call. (substitute_placeholder_in_expr): New function. * tree.def (WITH_RECORD_EXPR): Deleted. * tree.h (SUBSTITUTE_IN_EXPR, SUBSTITUTE_PLACEHOLDER_IN_EXPR): New. (substitute_placeholder_in_expr): New. * ada/decl.c (gnat_to_gnu_entity): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. * ada/trans.c (tree_transform, emit_index_check): Likewise. * ada/utils.c (build_template): Likewise. (max_size, convert): Remove handling of WITH_RECORD_EXPR. (maybe_unconstrained_array, unchecked_convert): Likewise. * ada/utils2.c (gnat_truthvalue_conversion, build_binary_op): Likewise. (build_unary_op): Likewise. (compare_arrays, build_allocator): Use SUBSTITUTE_PLACEHOLDER_IN_EXPR. (fill_vms_descriptor): Likewise. (build_call_alloc_dealloc): Likewise. ALIGN is unsigned. * ada/gigi.h (build_call_alloc_dealloc): Alignment is unsigned. From-SVN: r79789
2004-03-20* fold-const.c (fold): Replace "expr" with "t".Kazu Hirata1-5/+5
From-SVN: r79761
2004-03-20fold-const.c (fold): Replace "final_type" with "type".Kazu Hirata1-15/+14
* fold-const.c (fold): Replace "final_type" with "type". Remove variable "final_type". From-SVN: r79754
2004-03-20fold-const.c (fold): Constify "type".Kazu Hirata1-13/+13
* fold-const.c (fold): Constify "type". Replace "TREE_TYPE (t)" with "type". From-SVN: r79753
2004-03-20fold-const.c (fold): Replace "t" with "tem" where it is used as a temporary ↵Kazu Hirata1-51/+49
variable. * fold-const.c (fold): Replace "t" with "tem" where it is used as a temporary variable. Remove "orig_t" and all of its uses. From-SVN: r79746
2004-03-20fold-const.c (fold): Remove variable "invert".Kazu Hirata1-87/+195
* fold-const.c (fold): Remove variable "invert". Move the handling of relational expressions that can be folded to a constant ... (fold_relational_const): ... here. (tree_expr_nonzero_p): New. From-SVN: r79745
2004-03-19fold-const.c (fold): Move the handling of constants ...Kazu Hirata1-36/+57
* fold-const.c (fold) <ABS_EXPR>: Move the handling of constants ... (fold_abs_const): ... here. From-SVN: r79709
2004-03-19fold-const.c (negate_expr): Move the handling of constants ...Kazu Hirata1-15/+39
* fold-const.c (negate_expr): Move the handling of constants ... (fold_negate_const): ... here. From-SVN: r79693
2004-03-17Fix stuff accidentally committed in previous patchMark Mitchell1-6/+6
From-SVN: r79574
2004-03-17re PR c++/14481 (strange warning when assigning to bitfield)Mark Mitchell1-6/+7
PR c++/14481 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly generated COMPOUND_EXPRs. PR c++/14481 * g++.dg/warn/Wunused-7.C: New test. From-SVN: r79570
2004-03-14fold-const.c (negate_expr, [...]): Replace calls via (*lang_hooks.foo) () ↵Roger Sayle1-34/+34
with lang_hooks.foo (). * fold-const.c (negate_expr, operand_equal_for_comparison_p, optimize_bit_field_compare, decode_field_reference, all_ones_mask_p, make_range, build_range_check, fold_range_test, unextend, constant_boolean_node, fold_binary_op_with_conditional_arg, fold_truthop, fold_mathfn_compare, fold_inf_compare, fold_single_bit_test, fold): Replace calls via (*lang_hooks.foo) () with lang_hooks.foo (). From-SVN: r79471
2004-03-11fold-const.c (negate_expr_p): We can optimize -((int)X>>C) where C is an ↵Roger Sayle1-0/+31
integer constant one bit less than... * fold-const.c (negate_expr_p) <RSHIFT_EXPR>: We can optimize -((int)X>>C) where C is an integer constant one bit less than the size of X into (unsigned)X>>C. Similarly for unsigned->signed. (negate_expr) <RSHIFT_EXPR>: Implement the above transformations. * simplify-rtx.c (simplify_unary_operation): Also implement the above transformations at the RTL level. * gcc.c-torture/execute/20040311-1.c: New test case. From-SVN: r79334
2004-03-10fold-const.c (tree_expr_nonnegative_p): Add more builtin cases.Kaveh R. Ghazi1-0/+39
* fold-const.c (tree_expr_nonnegative_p): Add more builtin cases. testsuite: * gcc.dg/torture/builtin-nonneg-1.c: New test. From-SVN: r79269
2004-03-08fold-const.c (tree_expr_nonnegative_p): Reformat checks for builtins.Kaveh R. Ghazi1-53/+24
* fold-const.c (tree_expr_nonnegative_p): Reformat checks for builtins. From-SVN: r79088
2004-03-07fold-const.c (fold): Fold x | x as x.Roger Sayle1-0/+6
* fold-const.c (fold) <IOR_EXPR>: Fold x | x as x. <XOR_EXPR>: Fold x ^ x as zero. <AND_EXPR>: Fold x & x as x. From-SVN: r79065
2004-03-07fold-const.c (fold): Rewrite optimization to transform "foo++ == const" into ↵Roger Sayle1-140/+71
"++foo == const+incr". * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform "foo++ == const" into "++foo == const+incr". * gcc.c-torture/execute/20040307-1.c: New test case. From-SVN: r79064
2004-03-06tree.h (BUILTIN_EXP10_P, [...]): New macros.Kaveh R. Ghazi1-31/+4
* tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P, BUILTIN_CBRT_P, BUILTIN_ROOT_P): New macros. * builtins.c (fold_builtin_logarithm, fold_builtin): Use new macros. * fold-const.c (fold_mathfn_compare, fold): Likewise. From-SVN: r79023
2004-03-01fold-const.c (fold): An equality comparison of a non-weak object against ↵Jeff Law1-0/+39
zero has a known result. * fold-const.c (fold): An equality comparison of a non-weak object against zero has a known result. Similarly an equality comparison of the address of two non-weak, unaliased symbols has a known result. * ggc-page.c (struct page_entry): New field PREV. (ggc_alloc): Update PREV field appropriately. (sweep_pages): Likewise. (ggc_free): Likewise. Use PREV field rather than loop to improve ggc_free performance. cp/ * init.c (build_vec_delete_1): Convert 2nd argument to NE_EXPR to the proper type. From-SVN: r78713
2004-02-28fold-const.c (fold): Strip NOPs that change the signedness for RSHIFT too.Eric Botcazou1-7/+13
* fold-const.c (fold): Strip NOPs that change the signedness for RSHIFT too. Expand comment. From-SVN: r78603
2004-02-27fold-const.c (fold): Revert 2004-02-25 change.Eric Botcazou1-5/+3
* fold-const.c (fold): Revert 2004-02-25 change. Use the original operands to build a tree with swapped operands. * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the 'unsignedp' predicate to specify the signedness. Co-Authored-By: Roger Sayle <roger@eyesopen.com> From-SVN: r78558
2004-02-27c-decl.c, [...]: Fix comment typos and formatting.Kazu Hirata1-1/+1
* c-decl.c, c-ppoutput.c, combine.c, cppfiles.c, dwarf2out.c, expr.c, fold-const.c, gcc.c, haifa-sched.c, loop-iv.c, params.def, read-rtl.c, rtl.c, rtlanal.c, toplev.c: Fix comment typos and formatting. Follow spelling conventions. From-SVN: r78555
2004-02-25fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like comparisons with ↵Eric Botcazou1-1/+4
regard to signedness. * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like comparisons with regard to signedness. From-SVN: r78441
2004-02-21combine.c (SHIFT_COUNT_TRUNCATED): Remove.Kazu Hirata1-4/+0
* combine.c (SHIFT_COUNT_TRUNCATED): Remove. * defaults.h (SHIFT_COUNT_TRUNCATED): Provide the default. * expmed.c: Assume SHIFT_COUNT_TRUNCATED is always defined. * fold-const.c: Likewise. * simplify-rtx.c: Likewise. From-SVN: r78230
2004-02-19fold-const.c (invert_truthvalue): Do not call invert_tree_comparison for ↵Jeff Law1-0/+8
unordered comparison codes. * fold-const.c (invert_truthvalue): Do not call invert_tree_comparison for unordered comparison codes. From-SVN: r78103
2004-02-16* fold-const.c (operand_equal_p): Fix VECTOR_CST comparison.Richard Henderson1-1/+2
From-SVN: r77883