1. 04 Mar, 2004 24 commits
    • re PR rtl-optimization/14282 (ICE in sh-elf-gcc with -m4-single-only and -O2) · 58f206d6
      PR optimization/14282
      * sched-deps.c (sched_analyze_insn): Allow a stack adjustment
      between a call and the assignment of its return value.
      
      From-SVN: r78925
      DJ Delorie committed
    • * config/h8300/h8300.c: Put a comment for every function. · e9eba255
      From-SVN: r78924
      Kazu Hirata committed
    • 1.cc: Provide explicit instantiations for non-weak systems. · f90e600a
      
      2004-03-04  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* testsuite/20_util/allocator/1.cc: Provide explicit
      	instantiations for non-weak systems.
      	* testsuite/20_util/binders.cc: Same.
      	* testsuite/20_util/allocator/8230.cc: Same.
      	* testsuite/20_util/allocator/10378.cc: Same.
      	* testsuite/22_locale/ctype/is/wchar_t/2.cc: Same.
      	* testsuite/22_locale/ctype/is/char/2.cc: Same.
      	* testsuite/thread/pthread7-rope.cc: Same.
      	* testsuite/thread/pthread6.cc: Same.
      	* testsuite/thread/pthread5.cc: Same.
      	* testsuite/thread/pthread4.cc: Same.
      	* testsuite/thread/pthread1.cc: Same.
      	* testsuite/ext/rope.cc: Same.
      	* testsuite/ext/hash_set.cc: Same.
      	* testsuite/ext/hash_map.cc: Same.
      	* testsuite/ext/concept_checks.cc: Same.
      	* testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Same.
      	* testsuite/25_algorithms/unique/2.cc: Same.
      	* testsuite/25_algorithms/unique/1.cc: Same.
      	* testsuite/25_algorithms/rotate.cc: Same.
      	* testsuite/25_algorithms/min_max.cc: Same.
      	* testsuite/25_algorithms/equal.cc: Same.
      	* testsuite/24_iterators/rel_ops.cc: Same.
      	* testsuite/24_iterators/iterator.cc: Same.
      	* testsuite/24_iterators/insert_iterator.cc: Same.
      	* testsuite/24_iterators/front_insert_iterator.cc: Same.
      	* testsuite/24_iterators/back_insert_iterator.cc: Same.
      	* testsuite/23_containers/vector/resize/1.cc: Same.
      	* testsuite/23_containers/vector/modifiers/2.cc: Same.
      	* testsuite/23_containers/vector/modifiers/1.cc: Same.
      	* testsuite/23_containers/vector/invalidation/4.cc: Same.
      	* testsuite/23_containers/vector/invalidation/3.cc: Same.
      	* testsuite/23_containers/vector/invalidation/2.cc: Same.
      	* testsuite/23_containers/vector/invalidation/1.cc: Same.
      	* testsuite/23_containers/vector/element_access/1.cc: Same.
      	* testsuite/23_containers/vector/cons/6513.cc: Same.
      	* testsuite/23_containers/vector/cons/3.cc: Same.
      	* testsuite/23_containers/vector/cons/2.cc: Same.
      	* testsuite/23_containers/vector/cons/1.cc: Same.
      	* testsuite/23_containers/vector/capacity/8230.cc: Same.
      	* testsuite/23_containers/vector/capacity/1.cc: Same.
      	* testsuite/23_containers/vector/bool/6886.cc: Same.
      	* testsuite/23_containers/stack/members/7158.cc: Same.
      	* testsuite/23_containers/set/invalidation/2.cc: Same.
      	* testsuite/23_containers/set/invalidation/1.cc: Same.
      	* testsuite/23_containers/queue/members/7157.cc: Same.
      	* testsuite/23_containers/priority_queue/members/7161.cc: Same.
      	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
      	* testsuite/23_containers/multiset/invalidation/2.cc: Same.
      	* testsuite/23_containers/multiset/insert/1.cc: Same.
      	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
      	* testsuite/23_containers/multimap/invalidation/2.cc: Same.
      	* testsuite/23_containers/map/operators/1.cc: Same.
      	* testsuite/23_containers/map/invalidation/2.cc: Same.
      	* testsuite/23_containers/map/invalidation/1.cc: Same.
      	* testsuite/23_containers/map/insert/1.cc: Same.
      	* testsuite/23_containers/list/operators/4.cc: Same.
      	* testsuite/23_containers/list/operators/3.cc: Same.
      	* testsuite/23_containers/list/operators/2.cc: Same.
      	* testsuite/23_containers/list/operators/1.cc: Same.
      	* testsuite/23_containers/list/modifiers/3.cc: Same.
      	* testsuite/23_containers/list/modifiers/2.cc: Same.
      	* testsuite/23_containers/list/modifiers/1.cc: Same.
      	* testsuite/23_containers/list/invalidation/4.cc: Same.
      	* testsuite/23_containers/list/invalidation/3.cc: Same.
      	* testsuite/23_containers/list/invalidation/2.cc: Same.
      	* testsuite/23_containers/list/invalidation/1.cc: Same.
      	* testsuite/23_containers/list/cons/9.cc: Same.
      	* testsuite/23_containers/list/cons/8.cc: Same.
      	* testsuite/23_containers/list/cons/7.cc: Same.
      	* testsuite/23_containers/list/cons/6.cc: Same.
      	* testsuite/23_containers/list/cons/5.cc: Same.
      	* testsuite/23_containers/list/cons/4.cc: Same.
      	* testsuite/23_containers/list/cons/3.cc: Same.
      	* testsuite/23_containers/list/cons/2.cc: Same.
      	* testsuite/23_containers/list/cons/1.cc: Same.
      	* testsuite/23_containers/list/capacity/1.cc: Same.
      	* testsuite/23_containers/deque/operators/1.cc: Same.
      	* testsuite/23_containers/deque/invalidation/4.cc: Same.
      	* testsuite/23_containers/deque/invalidation/3.cc: Same.
      	* testsuite/23_containers/deque/invalidation/2.cc: Same.
      	* testsuite/23_containers/deque/invalidation/1.cc: Same.
      	* testsuite/23_containers/deque/cons/2.cc: Same.
      	* testsuite/23_containers/deque/cons/1.cc: Same.
      
      	* src/allocator.cc: Add char, wchar_t instantiations
      	to match extern template declarations in memory.h.
      
      From-SVN: r78922
      Benjamin Kosnik committed
    • * config/h8300/h8300.md: Add comments about peephole2's. · d3c40837
      From-SVN: r78921
      Kazu Hirata committed
    • * i386.h (TARGET_CPU_DEFAULT_nocona): Fix value. · eb3d7f9d
      From-SVN: r78919
      Steven Bosscher committed
    • cfgcleanup.c (thread_jump): Update call of cselib_init. · 463301c3
      	* cfgcleanup.c (thread_jump): Update call of cselib_init.
      	* cselib.c (cselib_record_memory): New static variable.
      	(cselib_lookup_mem, cselib_record_set, cselib_record_sets):
      	Give up on memories when asked for.
      	(cselib_init): Accept new argument.
      	* cselib.h (cselib_init): Update prototype.
      	* gcse.c (local_cprop_pass): Update call of cselib_init.
      	* loop.c (load_mems): Update call of cselib_init.
      	* postreload.c (reload_cse_regs_1): Update call of cselib_init.
      	* sched-deps.c (sched_analyze): Update call of cselib_init.
      
      From-SVN: r78917
      Jan Hubicka committed
    • rs6000.c (output_function_profiler): Append @plt when compiling PIC. · 3b6ce0af
      2004-03-04  David Edelsohn  <edelsohn@gnu.org>
                  GP <gp@qnx.com>
      
              * config/rs6000/rs6000.c (output_function_profiler): Append @plt
              when compiling PIC.
      
      Co-Authored-By: GP <gp@qnx.com>
      
      From-SVN: r78912
      David Edelsohn committed
    • Fix typo. · 1f6ad0b5
      From-SVN: r78909
      Josef Zlomek committed
    • var-tracking.c (track_expr_p): Do not track variables which should be ignored… · af931390
      var-tracking.c (track_expr_p): Do not track variables which should be ignored for debugging purposes.
      
      	PR/14362
      	* var-tracking.c (track_expr_p): Do not track variables which
      	should be ignored for debugging purposes.
      
      From-SVN: r78902
      Josef Zlomek committed
    • real.c (encode_ibm_extended): Don't bother rounding low double. · ddc68564
      	* real.c (encode_ibm_extended): Don't bother rounding low double.
      	* c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
      	when fmt->pnan < fmt->p.
      
      From-SVN: r78900
      Alan Modra committed
    • mips.h (FUNCTION_ARG_REGNO_P): Fix to check only range of valid arg registers and fixed_regs. · ca87076c
      2004-03-04  Eric Christopher  <echristo@redhat.com>
      
      	* config/mips/mips.h (FUNCTION_ARG_REGNO_P): Fix to check
      	only range of valid arg registers and fixed_regs.
      
      From-SVN: r78899
      Eric Christopher committed
    • re PR target/14406 (rs6000 abstf2 is broken) · 1a402dc1
      	PR target/14406
      	* config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
      	(abstf2, abstf2_internal): New define_expand.
      
      From-SVN: r78896
      Alan Modra committed
    • re PR rtl-optimization/14235 (ICE in verify_local_live_at start (flow.c:546)) · 6a2d136b
      	PR optimization/14235
      	* expr.c (convert_move): Copy the source to a new pseudo
      	when converting from a sub-word source to a larger-than-word
      	register which conflicts with the source.
      
      From-SVN: r78893
      Eric Botcazou committed
    • re PR c/13728 (Duplicate parameter names not detected) · 3205a71e
      	PR 13728
      	* c-decl.c (diagnose_mismatched_decls): Issue an error for two
      	parameters with the same name, unless one is a forward decl.
      	Do not issue a redundant-redeclaration warning for forward
      	decls of parameters.
      	* gcc.dg/decl-4.c: New testcase.
      
      From-SVN: r78888
      Zack Weinberg committed
    • install.texi (*-ibm-aix*): Document use of Bash to speed up configuration. · e8d8a034
              * doc/install.texi (*-ibm-aix*): Document use of Bash to speed up
              configuration.
      
      From-SVN: r78883
      David Edelsohn committed
    • builtin-explog-1.c (PREC): Make it the same as PRECF if sizeof (float) > sizeof (double). · 3ae3b78c
      	* gcc.dg/torture/builtin-explog-1.c (PREC): Make it the same
      	as PRECF if sizeof (float) > sizeof (double).
      	(PRECL): Make it the same as PRECF if
      	sizeof (float) > sizeof (long double).
      
      From-SVN: r78881
      Kazu Hirata committed
    • builtins-config.h: Use underscore macro style for __sun system type. · f20855d7
      	* gcc.dg/builtins-config.h: Use underscore macro style for __sun
      	system type.  Add check for irix6 which doesn't have c99 runtime.
      
      From-SVN: r78879
      Kaveh R. Ghazi committed
    • target-def.h (TARGET_OPTF): Delete. · 7cd60054
      	* target-def.h (TARGET_OPTF): Delete.
      	* c-opts.c (TARGET_OPTF): Define.
      
      From-SVN: r78878
      Alan Modra committed
    • Undo accidentally commited garbage. · 370d11ad
      From-SVN: r78877
      Jan Hubicka committed
    • cselib.c (cselib_finish): Fix another miss-application of my previous patch. · e654c19e
      	* cselib.c (cselib_finish): Fix another miss-application of my previous
      	patch.
      
      From-SVN: r78876
      Jan Hubicka committed
    • Add framework support for darwin. · 94d1613b
      	* c-incpath.c: Include target.h and machmode.h.
      	(add_path): Use a consistent style for cpp_dir.  Initialize
      	p->construct to 0.
      	(add_cpp_dir_path): New.
      	(register_include_chains): Add use of extra_includes callback.
      	(hook_void_int): Add.
      	(target_c_incpath): Add.
      	* c-incpath.h (add_cpp_dir_path): New.
      	(target_c_incpath_s): Add.
      	(target_c_incpath): Add.
      	(C_INCPATH_INIT): Add.
      	* c-opts.c (c_common_missing_argument,
      	c_common_handle_option): Add -F argument processing.
      	* c.opt: Add -F argument processing.
      	* gcc.c (trad_capable_cpp): Add -F argument processing.
      	* cppfiles.c (find_file_in_dir): Update to use construct
      	callback.
      	(search_path_exhausted, cpp_get_path, cpp_get_buffer,
      	cpp_get_prev): New.
      	(_cpp_find_file): Use search_path_exhausted.
      	(make_cpp_dir): Initialize construct to 0.
      	* cpplib.h (missing_header_cb
      	cpp_get_path, cpp_get_buffer, cpp_get_file, cpp_get_prev): New.
      	(cpp_callbacks): Add missing_header
      	(cpp_dir): Add construct.
      	* target-def.h: (TARGET_OPTF): New.
      	* hooks.c (hook_void_int, hook_void_charptr): Add.
      	* hooks.h (hook_void_int, hook_void_charptr): Add.
      	* Makefile.in (c-incpath.o) : Add $(TARGET_H) and
      	$(MACHMODE_H) dependencies.
      	* doc/invoke.texi (Darwin Options): Document -F.
      	* doc/tm.texi (TARGET_EXTRA_INCLUDES): Add.
      	(TARGET_OPTF): Add.
      	* fix-header.c (target_c_incpath): Add.
      
      	* config/darwin-c.c: Add c-incpath.h include.
      	(using_frameworks, find_subframework_file,
      	find_subframework_header, add_system_framework_path,
      	frameworks_in_use, num_frameworks, max_frameworks,
      	add_framework, find_framework, struct framework_header,
      	framework_header_dirs, framework_construct_pathname,
      	find_subframework_file, add_system_framework_path,
      	add_framework_path, framework_defaults,
      	darwin_register_frameworks, find_subframework_header): Add.
      	* config/darwin.h (TARGET_EXTRA_INCLUDES, TARGET_OPTF): New.
      	(TARGET_OPTION_TRANSLATE_TABLE): Add -framework support.
      	(CPP_SPEC): Add __APPLE_CC__ support.
      	* t-darwin (darwin-c.o): Add c-incpath.h dependency.
      
      From-SVN: r78875
      Mike Stump committed
    • Daily bump. · c158d74a
      From-SVN: r78872
      GCC Administrator committed
    • cselib.c (cselib_finish): Fix miss-application of my previous patch. · 0fc0c4c9
      
      	* cselib.c (cselib_finish): Fix miss-application of my previous
      	patch.
      
      From-SVN: r78869
      Jan Hubicka committed
  2. 03 Mar, 2004 16 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