OSDN Git Service

Fix REG_INC note handling in register renamer.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ed341f7..4ff995e 100644 (file)
@@ -1,3 +1,436 @@
+2000-11-09  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * regrename.c (build_def_use): Mark contents of REG_INC notes as
+       needing replacement.
+
+2000-11-09  Jan van Male  <jan.vanmale@fenk.wau.nl>
+
+        * c-tree.texi: Fix typos.
+        * extend.texi: Likewise
+        * gcov.texi: Likewise
+        * rtl.texi: Likewise
+        * tm.texi: Likewise
+
+2000-11-09  Hans-Peter Nilsson  <hp@axis.com>
+
+       * c-lex.c [! NO_IMPLICIT_EXTERN_C] (cb_enter_file): Check
+       in_system_header and flags[1] before dereferencing flags[2].
+
+2000-11-09  Matthew Hiller <hiller@redhat.com>
+
+       * reload1.c (reload_combine): Fixed calculation of
+       first_index_reg, last_index_reg.
+
+2000-11-09  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-dump.c (dequeue_and_dump): Dump function bodies.
+
+       * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
+       (c-dump.o): New target.
+       * c-common.h (flag_dump_translation_unit): New variable.
+       (C_TYPE_QUALS): New macro.
+       (strip_array_types): New function.
+       (DECL_C_BIT_FIELD): New macro.
+       (SET_DECL_C_BIT_FIELD): Likewise.
+       (CLEAR_DECL_C_BIT_FIELD): Likewise.
+       (dump_info_p): New typedef.
+       (dump_tree_fn): Likewise.
+       (lang_dump_tree): New variable.
+       (dump_node_to_file): New function.
+       * c-common.c (flag_dump_translation_unit): Define it.
+       (strip_array_types): New function.
+       * c-decl.c (c_decode_option): Handle -fdump-translation-unit.
+       * c-lang.c (finish_file): Call dump_node_to_file if 
+       flag_dump_translation_unit.
+       * c-semantics.c (mark_rtl_for_local_static): Fix typo in comment.
+       * c-tree.h (DECL_C_BIT_FIELD): Remove declaration.
+       * c-dump.c: New file.
+       
+2000-11-09  Christopher Faylor <cgf@cygnus.com>
+
+       * config/i386/cygwin.h: Add mingw startfile prefix.
+
+2000-11-09  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (invalidate_mems_from_set): Split out from ...
+       (mark_set_1): ... here.
+       (try_pre_increment_1): Use it.  Use propagate_block_delete_insn
+       instead of turning insn into a NOTE_INSN_DELETED.
+
+2000-11-10  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * extend.texi, invoke.texi: Move documentation of builtin versions
+       of C library functions to one place and update.
+
+2000-11-09  Richard Henderson  <rth@redhat.com>
+
+       * fold-const.c (fold): Compare TYPE_MAIN_VARIANT rather than
+       the types themselves to discover type equivalence.
+
+2000-11-09  Mike Stump  <mrs@wrs.com>
+
+       * Makefile.in (distclean): Remove a few extra leftovers.
+
+2000-11-09  Richard Henderson  <rth@redhat.com>
+
+       * recog.c (validate_replace_rtx_1): Consider subregs when
+       replacing a register with a constant inside a sign/zero_extend.
+
+       * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+
+2000-11-09  Geoffrey Keating  <geoffk@redhat.com>
+
+       * c-decl.c (finish_struct): When a structure is completed,
+       check all its variant types for completeness.
+
+2000-11-09  Neil Booth  <neilb@earthling.net>
+
+       * cpphash.c: Move cpp_defined here from cpplib.c.
+       * cpplib.c: Update comments, move cpp_defined to cpphash.c.
+       * cpplex.c (_cpp_lex_token): Don't leave the lexer at EOL.
+       * cppmacro.c (cpp_get_token): Update comments, no need now
+       to catch the CPP_EOF meaning EOL case.
+
+2000-11-08  Geoffrey Keating  <geoffk@redhat.com>
+
+       * config/sparc/sparc.c (sparc_va_arg): When the required alignment
+       is more than that provided, copy to a temporary.
+
+2000-11-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * mklibgcc.in (EXTRA_MULTILIB_PARTS): Prevent `make' from
+       interpreting $out as a macro assignment.
+       * Makefile.in (T_TARGET): New auxiliary macro and target.
+       (all): Add a target right in the beginning, so that we don't build
+       T_TARGET by default.
+
+2000-11-09  Graham Stott  <grahams@redhat.com>
+
+        * config/i386/i386.md (mmx_pinsrw): Output operands in correct
+       order for -mintel-syntax.  Remove comment now that the operand
+       order has been checked.
+       (mmx_pextrw): Likewise.
+       (mmx_pshufw): Likewise.
+
+2000-11-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (c_strlen): Use TREE_STRING_LENGTH - 1 for max.
+       (c_getstr): New function.
+       (expand_builtin_strstr): Do nothing if -fcheck-memory-usage.
+       If both arguments are constant string, optimize out.
+       (expand_builtin_strchr, expand_builtin_strrchr): New functions.
+       (expand_builtin_strpbrk): Use c_getstr, do nothing if
+       -fcheck-memory-usage.
+       (expand_builtin_fputs): Likewise.
+       (expand_builtin_strcmp): Add MODE argument.
+       Use even if !HAVE_cmpstrsi.
+       Optimize the case when both arguments are constant strings.
+       (expand_builtin): Adjust expand_builtin_strcmp caller.
+       Call expand_builtin_strchr and expand_builtin_strrchr.
+       * c-common.c (c_common_nodes_and_builtins): Add strchr and strrchr
+       builtins.
+       * builtins.def (BUILT_IN_STRRCHR): Add.
+
+2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * fixinc/gnu-regex.c: Rename EGCS LOCAL markers to GCC LOCAL.
+
+2000-11-09  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * calls.c (expand_call, emit_library_call_value_1), collect2.c
+       (scan_prog_file), config/a29k/a29k.c (print_operand),
+       config/sparc/sparc.c (order_regs_for_local_alloc): Use memcpy ()
+       instead of bcopy ().
+       * real.h: Use memcmp () instead of bcmp ().
+       * config/m88k/m88k.c (m88k_layout_frame), config/sh/sh.c
+       (split_branches), config/sparc/sparc.c (ultra_flush_pipeline,
+       ultrasparc_sched_init, ultrasparc_sched_reorder),
+       config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Use memset ()
+       instead of bzero ().
+       * config/vax/xm-xms.h (FILE_NAME_NONDIRECTORY): Use strrchr ()
+       instead of rindex ().
+       * configure.in: Don't check for bzero, bcmp, index or rindex.
+       * configure, config.in: Regenerate.
+       * system.h: Don't include declarations for bzero, bcmp, index or
+       rindex.
+       * config/i386/xm-beos.h, config/rs6000/xm-beos.h: Don't define
+       bzero, bcmp, index or rindex.
+
+Wed Nov  8 21:58:20 2000  Christopher Faylor <cgf@cygnus.com>
+
+       * config/i386/cygwin.h: Add -no-win32 switch.  Separate -mno-cygwin
+       include and library paths from -mcygwin case.  Parameterize some
+       declarations to avoid warnings.  Use standard locations for include and
+       lib dirs.
+
+2000-11-08  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.md (mulsidi3adddi): Change output operand
+       constraint from "=&" to "=&".
+       (umulsidi3adddi): Change output operand constraint from "=&" to
+       "=&".
+
+2000-11-08  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (init_propagate_block_info): Protect the rtx stored in
+       mem_set_list from modification by find_auto_inc.
+       (mark_set_1): Likewise.
+
+2000-11-08  Neil Booth  <neilb@earthling.net>
+
+        Move directive handling into the lexer itself.
+         
+        * cpplex.c (_cpp_lex_token): Handle directives directly.
+        In the case of a directive interrupting a function-like
+        macro invocation, use extra_char since read_ahead is
+        used to store the '#'.  Return a CPP_EOF in this case.
+        * cppmacro.c (parse_arg): No need to handle CPP_DHASH any more.
+        (cpp_get_token): Don't handle directives here.
+        * cpplib.h: Remove CPP_DHASH token type.
+
+Wed Nov  8 21:53:41 MET 2000  Jan Hubicka  <jh@suse.cz>
+
+       * regmove.c (combine_stack_adjustments_for_blocks): Recognize pushes
+       formed using PRE_MODIFY too.
+
+2000-11-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-tree.texi (VAR_DECL): Describe representation of GCC's
+       extension for placing variables in particular registers.
+
+       * c-tree.texi (FUNCTION_TYPE): Clarify TYPE_ARG_TYPES for
+       unprototyped C functions with no parameters.
+
+2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Cast DELTA to int
+       before passing to fprintf.
+
+2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * function.c (expand_function_start): Cast GET_MODE_SIZE to
+       HOST_WIDE_INT before negating it.
+
+2000-11-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL
+       passed in multiple non-contiguous locations.
+
+2000-11-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+       
+       * README.gnat: Remove file.
+
+2000-11-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * mklibgcc.in (EXTRA_MULTILIB_PARTS): Generate multilib parts
+       in-place.
+
+2000-11-07  Richard Henderson  <rth@redhat.com>
+
+       * dwarfout.c (INSN_LABEL_FMT): Remove.
+       (output_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
+       (dwarfout_label): Remove.
+       * dwarfout.h: Remove it's prototype.
+       * dwarf2out.c (INSN_LABEL_FMT): Remove.
+       (gen_label_die): Use ASM_GENERATE_INTERNAL_LABEL.
+       (dwarf2out_label): Remove.
+       * dwarf2out.h: Remove it's prototype.
+       * final.c (final_scan_insn): Don't call dwarf[2]out_label.
+
+2000-11-07  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/fde-glibc.c (find_fde_for_dso): Do a binary
+       search on the unwind region section.
+
+       * config/ia64/ia64.md (movbi): Add r/r alternative.
+       (cmovdi_internal_astep): Describe all combinations of register
+       classes for sources & destinations; remove matching constraints.
+       (cmovdi_internal): Likewise.
+
+       * gcc.c (default_compilers) [@cpp-output]: Add -fpreprocessed.
+
+2000-11-07  Richard Henderson  <rth@redhat.com>
+
+       * c-lang.c (start_cdtor, finish_cdtor): New functions.
+       (finish_file): Use them in building constructor/destructor functions.
+
+       * config/alpha/alpha.h (HAS_INIT_SECTION, LD_INIT_SWITCH, 
+       LD_FINI_SWITCH): Move ...
+       * config/alpha/osf.h: ... here.
+       * config/alpha/alpha-interix.h: Don't undef them.
+
+2000-11-07  Jeffrey Oldham  <oldham@oz.codesourcery.com>
+
+       * config/mips/t-iris6 (FPBIT): New.  Added so that __unorddf2 is
+       included in libgcc.a.
+       (DPBIT): Likewise.
+       (dp-bit.c): Likewise.
+       (fp-bit.c): Likewise.
+
+2000-11-07  Nick Clifton  <nickc@redhat.com>
+
+       * config/m88k/m88k.h (GLOBAL_ASM_OP): Add missing tab.
+       (INTERNAL_ASM_OP): Add missing tab.
+
+2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * alias.c (init_alias_analysis), calls.c (expand_call,
+       emit_library_call_value_1), combine.c (init_reg_last_arrays),
+       cse.c (new_basic_block), dbxout.c (dbxout_type), diagnostic.c
+       (init_output_buffer, set_diagnostic_context), dwarf2out.c
+       (equate_decl_number_to_die, build_abbrev_table), emit-rtl.c
+       (init_emit_once), fold-const.c (mul_double, div_and_round_double),
+       function.c (assign_parms), gcse.c (compute_can_copy,
+       alloc_gcse_mem, alloc_reg_set_mem, record_one_set,
+       compute_hash_table, compute_set_hash_table,
+       compute_expr_hash_table), genattrtab.c (optimize_attrs), global.c
+       (global_alloc, global_conflicts), haifa-sched.c (compute_trg_info,
+       clear_units, schedule_block), integrate.c (initialize_for_inline,
+       expand_inline_function), jump.c (thread_jumps), local-alloc.c
+       (local_alloc), loop.c (combine_movables, count_loop_regs_set,
+       load_mems_and_recount_loop_regs_set), print-tree.c (debug_tree),
+       regclass.c (init_reg_sets, init_reg_sets_1, regclass,
+       record_reg_classes, allocate_reg_info), reload.c
+       (get_secondary_mem, remove_address_replacements, find_reloads),
+       reload1.c (reload, set_initial_label_offsets, finish_spills,
+       reload_as_needed, choose_reload_regs_init,
+       reload_cse_simplify_operands), reorg.c (dbr_schedule), sbitmap.c
+       (sbitmap_zero), simplify-rtx.c (simplify_plus_minus), ssa.c
+       (rename_registers), stmt.c (expand_end_case), unroll.c
+       (unroll_loop), varray.c (varray_grow), objc/objc-act.c: Use memset
+       () instead of bzero ().
+
+2000-11-07  Neil Booth  <neilb@earthling.net>
+
+       * cp/lang-specs.h: Fix -save-temps specs under USE_CPPLIB.
+
+2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (combine_strings): Only warn about long strings for C.
+
+Tue Nov  7 19:44:30 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * combine.c (distribute_notes): Fix typo in last change.
+
+2000-11-07  Geoff Keating  <geoffk@redhat.com>
+
+       * config/rs6000/rs6000.md (movdi_internal32+1): Use
+       operand_subreg_force rather than gen_rtx_SUBREG.
+       (movdi_internal32+2): Likewise.
+
+2000-11-07  Philip Blundell  <philb@gnu.org>
+
+       * configure.in (arm*-*-linuxaout*): Obsolete, deleted.
+       * config/arm/linux-aout.h: Likewise.
+       * configure: Regenerate.
+
+2000-11-07  Philipp Thomas  <pthomas@suse.de>
+
+       * ABOUT-GCC-NLS: Remove the patch for gettext as it has been
+       accepted my the gettext maintainer.
+
+2000-11-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strpbrk): New function.
+       (expand_builtin): Handle BUILT_IN_STRPBRK.
+
+       * builtins.def (BUILT_IN_STRPBRK): New entry.
+
+       * c-common.c (c_common_nodes_and_builtins): Declare builtin
+       strpbrk.
+
+2000-11-07  David O'Brien  <obrien@dragon.nuxi.com>
+
+       * config/alpha/freebsd.h: New file -- FreeBSD/alpha architecture file.
+       * POTFILES.in: Add config/alpha/freebsd.h
+       * configure.in: Add alpha*-freebsd support.
+       * configure: Regenerate.
+
+2000-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * tree.c (build_common_tree_nodes_2): Make va_list_type_node be a
+       copy of ptr_type_node rather than ptr_type_node itself.
+
+Tue Nov  7 06:29:24 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * combine.c (recog_for_combine): Allocate uninitialized vector with
+       rtvec_alloc.
+       * recog.c (apply_change_group): Likewise.
+
+Tue Nov  7 06:24:02 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * flow.c (verify_local_live_at_start): Back out last change.
+       * combine.c (distribute_notes): When parts of a hard reg are
+       neither set nor referenced in PLACE, search backwards for a
+       place to put a REG_UNUSED note; if none found, ask for flow
+       info refresh.
+
+Mon Nov  6 20:08:13 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * reload1.c (eliminate_regs_in_insn): Allow a set to be a PARALLEL
+       with (clobber (match_scratch...)).
+
+2000-11-06  Neil Booth  <neilb@earthling.net>
+
+       * c-lex.c (init_c_lex): If cpp_start_read fails, exit with
+       error status.
+
+2000-11-06  Neil Booth  <neilb@earthling.net>
+
+        * tradcpp.c (special_symbol): Assign an null string rather
+       than writing to an unallocated buffer.
+
+2000-11-06  Neil Booth  <neilb@earthling.net>
+
+       * cpplex.c (_cpp_equiv_tokens): Check arg_no in the
+       CPP_MACRO_ARG case.
+
+2000-11-06  Neil Booth  <neilb@earthling.net>
+
+       * c-lex.c (c_lex): Replace tok.val.aux with tok.val.c or
+       tok.val.arg_no as appropriate.
+       * cppexp.c (lex): Similarly.
+       * cpplex.c (_cpp_lex_token, cpp_spell_token, cpp_output_token,
+       cpp_equiv_tokens, cpp_can_paste, cpp_avoid_paste): Similarly.
+       * cppmacro.c (stringify_arg, replace_args, lex_expansion_token,
+       cpp_macro_definition): Similarly.
+       * cpplib.h (struct cpp_token): Replace aux with c and arg_no.
+
+2000-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.md (adddi3): If operands[2] is 4096 and
+       operands[1] is constant, calculate the sum and generate movdi.
+       (addsi3): Similarly.  Use SImode in call to arith_4096_operand.
+       (subsi3): Use SImode in call to arith_4096_operand.
+
+2000-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): On sparc64 we need to
+       adjust %o1, not %o0 if the return type is large structure.
+
+2000-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.md (smulsi3_highpart_v8plus, ashldi3_v8plus+1,
+       update_return, flush, flushdi, ffssi2, ffsdi2): Fix output formatting.
+
+Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru> & Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * expmed.c (expand_divmod): For signed divide by 2, prefer
+       a branch and fewer shifts if branches are very cheap.
+
+2000-11-05  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * Makefile.in: Remove all targets related to building
+       distributions and diffs, or INSTALL.
+       * INSTALL, install1.texi: Remove.
+       * configure.in: Remove mention of distdir.
+       * configure: Regenerate.
+       * objc/Make-lang.in: Remove mention of distdir.
+
+2000-11-04  Neil Booth  <neilb@earthling.net>
+
+       * cpp.texi: Update for _Pragma.
+
 2000-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * gcc.texi (Contributing): Update URL for projects web page.