1. 04 Mar, 2004 19 commits
  2. 03 Mar, 2004 21 commits
    • hooks.c (hook_tree_tree_identity): New. · 67dfe110
      	* hooks.c (hook_tree_tree_identity): New.
      	* hooks.h: Add a prototype for hook_tree_tree_identity.
      	* stmt.c (expand_asm_operands): Use targetm.md_asm_clobbers
      	instead of MD_ASM_CLOBBERS.
      	* system.h (MD_ASM_CLOBBERS): Poison.
      	* target-def.h (TARGET_MD_ASM_CLOBBERS): New.
      	(TARGET_INITIALIZER): Add TARGET_MD_ASM_CLOBBERS.
      	* target.h (gcc_target): Add md_asm_clobbers.
      	* config/i386/i386.c (TARGET_MD_ASM_CLOBBERS): New.
      	(ix86_md_asm_clobbers): New.
      	* config/i386/i386.h (MD_ASM_CLOBBERS): Remove.
      	* doc/tm.texi (MD_ASM_CLOBBERS): Change to
      	TARGET_MD_ASM_CLOBBERS.
      
      From-SVN: r78868
      Kazu Hirata committed
    • Channels.java (newInputStream, [...]): Optimize when argument is a FileChannelImpl. · dd0a905f
      
      	* java/nio/channels/Channels.java (newInputStream, newOutputStream):
      	Optimize when argument is a FileChannelImpl.
      	(newInputStream(FileChannelImpl), newOutputStream(FileChannelImpl)):
      	New native methods.
      	* java/nio/channels/natChannels.cc:  New file for new native methods.
      	* Makefile.am:  Update accordingly.
      
      From-SVN: r78867
      Per Bothner committed
    • config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a. · d79944f4
      2004-03-03  Stuart Hastings  <stuart@apple.com>
      	* gcc/config.gcc: Arrange for Darwin/x86 to build libgcc_eh.a.
      
      From-SVN: r78866
      Stuart Hastings committed
    • * gcc.dg/const-elim-1.c: xfail for xtensa. · c4909065
      From-SVN: r78864
      Bob Wilson committed
    • locale_facets.tcc (money_put<>::_M_insert): Fix warning regression. · ced3ad4d
      2004-03-03  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
      	Fix warning regression.
      
      From-SVN: r78861
      Paolo Carlini committed
    • sparc.c (noov_compare64_op): Fix typo. · fc9232c9
      	* config/sparc/sparc.c (noov_compare64_op): Fix typo.
      
      	* config/sparc/sparc.h (ASM_FLOAT): Delete.
      	(ASM_DOUBLE): Likewise.
      	(ASM_LONGDOUBLE): Likewise.
      	* config/sparc/pbd.h (ASM_INT_OP): Delete.
      
      From-SVN: r78859
      Eric Botcazou committed
    • re PR rtl-optimization/13862 (ICE while optimizing asm) · b7048ab7
              PR opt/13862
              * cselib.c (cselib_record_sets): Don't record multiple sets in
              asm insns.
      
      From-SVN: r78845
      Richard Henderson committed
    • locale_facets.tcc (money_put<>::_M_insert): Deal properly with empty __digits… · 039e3c5c
      locale_facets.tcc (money_put<>::_M_insert): Deal properly with empty __digits and negative frac_digits, clean-up a bit.
      
      2004-03-03  Paolo Carlini  <pcarlini@suse.de>
      
      	* include/bits/locale_facets.tcc (money_put<>::_M_insert):
      	Deal properly with empty __digits and negative frac_digits,
      	clean-up a bit.
      
      From-SVN: r78844
      Paolo Carlini committed
    • common.opt: Add description of the new -fgcse-after-reload flag. · f9957958
      2004-03-03  Mostafa Hagog  <mustafa@il.ibm.com>
      
              * common.opt: Add description of the new -fgcse-after-reload flag.
      
              * flags.h (flag_gcse_after_reload): Declaration of global variable.
      
              * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p,
              reg_used_between_after_reload_p, rtx get_avail_load_store_reg,
              is_jump_table_basic_block, bb_has_well_behaved_predecessors,
              get_bb_avail_insn, hash_scan_set_after_reload,
              compute_hash_table_after_reload, eliminate_partially_redundant_loads,
              gcse_after_reload, get_bb_avail_insn): New functions to implement
              gcse-after-reload.
              (gcse_after_reload_main): New function, the main entry point to
              gcse-after-reload.
      
              * rtl.h (gcse_after_reload_main): Declaration of the new function.
      
              * opts.c (common_handle_option): Handle the -fgcse-after-reload flag.
      
              * toplev.c (flag_gcse_after_reload): Initialization.
      
              * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main.
      
              * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
              PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning
              the gcse after reload optimization.
      
              * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION,
              GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning
              parameters.
      
              * doc/invoke.texi: Documentation for the new flag gcse-after-reload.
      
      From-SVN: r78842
      Mostafa Hagog committed
    • ieee754-df.S (muldf3, divdf3): Fix denormalization of small negative values. · 6f6dedf5
      * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
      small negative values.
      
      From-SVN: r78841
      Nicolas Pitre committed
    • documentation.html: Regenerate. · 0d957d26
      2004-03-03  Jonathan Wakely  <redi@gcc.gnu.org>
      
      	* docs/html/documentation.html: Regenerate.
      
      From-SVN: r78838
      Jonathan Wakely committed
    • cselib.c (hash_table): Remove GTY marker. · 6790d1ab
      	* cselib.c (hash_table):  Remove GTY marker.
      	(reg_values): Turn into array.
      	(used_regs): Likewise.
      	(n_used_regs): New static variable.
      	(reg_values_old): Kill.
      	(clear_table): Update uses of arrays.
      	(cselib_lookup): Likewise.
      	(cselib_record_set): Likewise.
      	(cselib_init): Likewise.
      	(cselib_finish): Likewise.
      	(cselib_udpate_varray_sizes): Kill.
      	* cselib.h (cselib_update_varray_sizes): Kill.
      
      From-SVN: r78830
      Jan Hubicka committed
    • * flow.c (ior_reg_cond, and_reg_cond): Remove stray ")". · 33e6a97a
      From-SVN: r78827
      Paul Brook committed
    • ggc-common.c (ggc_alloc_cleared_stat, [...]): Rename from ...; make statistics transparent. · b9dcdee4
      	* ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
      	Rename from ...; make statistics transparent.
      	(ggc_alloc_cleared, ggc_realloc_stat): ... these.
      	(loc_descriptor): New structure.
      	(hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
      	add_statistics):
      	New static function.
      	(ggc_record_overhead, dump_statistics): New global function.
      	* ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
      	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
      	from ...; accept locations
      	(ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
      	ggc_realloc, ggc_alloc_typed):  ... this one.
      	from ...; accept locations
      	* ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
      	ggc_alloc_stat): Rename from ... ; pass locations
      	* ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
      	... this one.
      	(ggc_alloc_stat): Record overehead.
      	* ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
      	ggc_realloc, ggc_alloc_typed):  Turn to macros
      	(ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
      	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
      	(dump_ggc_loc_satistics, ggc_record_overehead): Declare.
      	* langhooks.h (lhd_make_node): Declare.
      	(LANG_HOOKS_MAKE_TYPE): Default to new function,
      	* langhooks.c (lhd_make_node): New.
      	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
      	locations.
      	(rtx_alloc, swallow_copy_rtx): ... this one.
      	* rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
      	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
      	* toplpev.c (finalize): Dump stats.
      	* tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
      	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
      	Rename from ... ; pass locators.
      	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
      	build?,  build_decl): Declare.
      	* tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
      	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
      	Declare.
      	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
      	build?,  build_decl): New macros.
      	* Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
      	* statistics.h: New file.
      
      From-SVN: r78826
      Jan Hubicka committed
    • mips.h (MASK_FIX_SB1): Bump. · 6ba7b547
      	* config/mips/mips.h (MASK_FIX_SB1): Bump.
      	(MASK_FIX_R4400, TARGET_FIX_R4400): New macros.
      	(TARGET_SWITCHES): Add -mfix-r4400 and -mno-fix-r4400.
      	* config/mips/mips.c (mips_output_division): Fill the branch delay
      	slot with a nop if TARGET_FIX_R4000.  Extend R4000 workarounds to
      	TARGET_FIX_R4400.
      	(mips_output_division): Adjust accordingly.
      	(override_options): Make -march=r4400 imply -mfix-r4400 by default.
      	* doc/invoke.texi: Document -mfix-r4400 and new errata workarounds.
      
      Co-Authored-By: Richard Sandiford <rsandifo@redhat.com>
      
      From-SVN: r78825
      Maciej W. Rozycki committed
    • alias.c (rtx_equal_for_memref_p): Use predicates to test rtx classes and new rtx class codes... · ec8e098d
      2004-02-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	* alias.c (rtx_equal_for_memref_p): Use predicates
      	to test rtx classes and new rtx class codes, possibly
      	splitting conditionals that tested against '<' and 'o'.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	* combine.c (contains_muldiv, find_split_point, subst,
      	combine_simplify_rtx, simplify_if_then_else,
      	simplify_set, simplify_logical, expand_compound_operation,
      	make_compound_operation, if_then_else_cond, known_cond,
      	apply_distributive_law, cached_nonzero_bits,
      	cached_num_sign_bit_copies, simplify_shift_const,
      	gen_binary, simplify_comparison, update_table_tick,
      	record_value_for_reg, get_lsat_value_validate): Likewise.
      	* cse.c (mention_regs, find_best_addr, find_comparison_args,
      	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
      	Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* expr.c (force_operand): Likewise.
      	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
      	and_reg_cond, elim_reg_cond): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* genattrtab.c (attr_rtx_1): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* integrate.c (subst_constants): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, delete_related_insns,
      	rtx_renumbered_equal_p): Likewise.
      	* local-alloc.c (block_alloc): Likewise.
      	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
      	canonicalize_condition): Likewise.
      	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
      	Likewise.
      	* optabs.c (add_equal_node, expand_binop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
      	* recog.c (validate_replace_rtx_1, comparison_operator,
      	offsettable_address_p, constrain_operands): Likewise.
      	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
      	Likewise.
      	* regclass.c (scan_one_insn): Likewise.
      	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
      	* regrename.c (kill_autoinc_value): Likewise.
      	* reload.c (find_reusable_reload, find_reloads,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtl.h (CONSTANT_P, INSN_P): Likewise.
      	* rtlanal.c (commutative_operand_precedence): Likewise.
      	* sched-deps.c (conditions_mutex_p): Likewise.
      	* sched-rgn.c (is_cfg_nonregular): Likewise.
      	* simplify-rtx.c (simplify_gen_binary,
      	simplify_gen_relational, simplify_replace_rtx,
      	simplify_unary_operation, simplify_binary_operation,
      	simplify_ternary_operation, simplify_rtx): Likewise.
      	* unroll.c (reg_dead_after_loop): Likewise.
      	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
      	print_operand): Likewise.
      	* config/arc/arc.c (proper_comparison_operator): Likewise.
      	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
      	Likewise.
      	* config/avr/avr.c (_reg_unused_after): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests,
      	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
      	* config/i386/i386.c (ix86_comparison_operator,
      	ix86_carry_flag_operator, fcmov_comparison_operator,
      	arith_or_logical_operator, print_operand,
      	ix86_expand_binary_operator, ix86_binary_operator_ok):
      	Likewise.
      	* config/i386/i386.md: Likewise.
      	* config/ia64/ia64.c (not_postinc_memory_operand,
      	ia64_print_operand, update_set_flags, errata_emit_nops):
      	Likewise.
      	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
      	CONSTRAINT_OK_FOR_S): Likewise.
      	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
      	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
      	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
      	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
      	Likewise.
      	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
      	eqne_comparison_operator, signed_comparison_operator):
      	Likewise.
      	* config/mips/mips.c (cmp_op, symbolic_expression_p):
      	Likewise.
      	* config/mmix/mmix (mmix_foldable_comparison_operator,
      	mmix_comparison_operator): Likewise.
      	* config/pa/pa.c (hppa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (stmw_operation,
      	branch_comparison_operator, trap_comparison_operator,
      	ccr_bit): Likewise.
      	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
      	* config/s390/s390.c (s390_alc_comparison,
      	s390_slb_comparison):L Likewise.
      	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
      	Likewise.
      	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
      	noov_compare_op, noov_compare64_op, v9_regcmp_op,
      	emit_hard_tfmode_operation, reg_unused_after)
      	* doc/md.texi, doc/rtl.texi: Likewise.
      
      	* ra-debug.c: Add 2004 to list of copyright years.
      	* unroll.c: Likewise.
      
      	* combine.c (simplify_logical): Remove dummy test,
      	(apply_distributive_law): Fix typo in comment.
      	GET_CODE (x) == AND so x is a commutative binary op.
      	* jump.c (delete_related_insns): simplify loop
      	condition, move testing of RTX codes inside the loop.
      	(rtx_renumbered_equal_p): do not use RTX_CODE.
      	* rtl.c (rtx_class): Declare as enum rtx_class.
      	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
      	Move to RTX_COMM_COMPARE class.
      	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
      	Move to RTX_CONST_OBJ class.
      	* rtl.h (enum rtx_class): New declaration,
      	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
      	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
      	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
      	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
      	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
      	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
      	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
      	OBJECT_P): New macros.
      	* config/sparc/sparc.c (noov_compare_op): Remove register
      	from parameter.
      
      From-SVN: r78824
      Paolo Bonzini committed
    • * target.h: Remove texi jargons in comments. · a841ab8b
      From-SVN: r78822
      Kazu Hirata committed
    • lib1funcs.asm (___fixunssfsi): Change the threshold to 0x4f. · cb36ddba
      	* config/h8300/lib1funcs.asm (___fixunssfsi): Change the
      	threshold to 0x4f.
      
      	Revert:
      	2004-02-27  Kazu Hirata  <kazu@cs.umass.edu>
      	* config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
      	as well.
      	* config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
      	* config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
      
      From-SVN: r78818
      Kazu Hirata committed
    • * doc/md.texi (cbranchmode4): New. · 66c87bae
      From-SVN: r78813
      Kazu Hirata committed
    • mips16.S: Change fixsfsi and fixdfsi to fix_trunc. · 91e01231
      2004-03-02  Eric Christopher  <echristo@redhat.com>
      
      	* config/mips/mips16.S: Change fixsfsi and fixdfsi to
      	fix_trunc.
      	* config/mips/mips.c (mips_init_libfuncs): Change accordingly.
      	* config/mips/t-elf (LIB1ASMFUNCS): Ditto.
      	* config/mips/t-isa3264 (LIB1ASMFUNCS): Ditto.
      	* config/mips/t-r3900 (LIB1ASMFUNCS): Ditto.
      
      From-SVN: r78811
      Eric Christopher committed
    • coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P. · 465e1d4c
              * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
              * optabs.c (prepare_cmp_insn): Force trapping memories to registers
              before the compare, if flag_non_call_exceptions.
              * g++.dg/other/profile1.C: New.
      
      From-SVN: r78806
      Richard Henderson committed