OSDN Git Service

2001-08-11 H.J. Lu <hjl@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index da7df11..c23a962 100644 (file)
@@ -1,3 +1,763 @@
+2001-08-11  H.J. Lu <hjl@gnu.org>
+
+       * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
+       in_dtors.
+       (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
+       RDATA_SECTION_ASM_OP.
+
+2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Specific, c4x): Fix cross-reference to the
+       main manual to work both for info and HTML versions.
+       
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+           Matt Kraai <kraai@alumni.carnegiemellon.edu>
+       
+       * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
+       * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
+       (struct cpp_pool): New member first.
+       * cppinit.c (append_include_chain): Plug memory leaks.
+       * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
+       Allocate pragma structures from the (aligned) macro pool to
+       avoid leaking memory.
+       * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
+       so we don't leak memory.
+       * hashtable.c (ht_destroy): New.
+       * hashtable.h (ht_destroy): New.
+
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+           Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * c-lex.c (map): Make const.
+       (cb_file_change): Update for callback passing a line map.
+       Don't assume we have a previous map.  Remove sanity check
+       about popping too many files.
+       * cpperror.c (print_location): Make map const.
+       * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
+       (cpp_make_system_header): Similarly.
+       (search_from): Similarly.
+       (_cpp_execute_include): Don't remember where we came from.
+       * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
+       (struct cpp_reader): Make map const.
+       (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
+       * cpplib.c (do_line): Update; line maps now hold sysp.
+       (cpp_push_buffer): Similarly.
+       (_cpp_do_file_change): Similarly; callback with map instead.
+       (cpp_get_line_maps): Constify return value.
+       (_cpp_pop_buffer): Update.
+       * cpplib.h (struct cpp_file_change): Remove.
+       (struct cpp_callbacks): Update.
+       (cpp_get_line_maps): Constify return value.
+       * cppmacro.c (_cpp_create_definition): Update.
+       * cppmain.c (struct printer): Constify map.
+       (maybe_print_line): Similarly.
+       (print_line): Similarly.  Deduce flags 1 and 2 here.
+       (cb_file_change): Update.
+       * line-map.c (free_line_maps): Warn regardless.
+       (add_line_map): Return pointer to const.  When passed NULL to_file
+       with LC_LEAVE, use the obvious values for the return point so the
+       caller doesn't have to figure them out.
+       (lookup_line): Return pointer to const.
+       (print_containing_files): Take pointer to const.
+       * line-map.h (struct line_map): New members reason, sysp.
+       (add_line_map): Return pointer to const.
+       (lookup_line): Similarly.
+       (print_containing_files): Take pointer to const.
+
+2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
+           Richard Henderson  <rth@redhat.com>
+
+       * regmove.c (regmove_optimize): Avoid setting a register twice in
+       a parallel set.
+
+2001-08-10  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (Arrays and pointers implementation): Document
+       behavior of pointer/integer conversion.
+
+2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
+       * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
+
+2001-08-10  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (C Implementation): New chapter.
+       * doc/gcc.texi (Top): Link it in.
+
+2001-08-10  Andrew Cagney  <ac131313@redhat.com>
+
+       * doc/install.texi (Specific): Fix CVS merge botch.
+
+2001-08-10  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
+       ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
+
+2001-08-10  Zack Weinberg  <zackw@stanford.edu>
+
+       * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
+       if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
+       this macro is now required.
+
+       * cselib.c (cselib_process_insn), flow.c (propagate_block),
+       loop.c (find_and_verify_loops), reload.c (reload): Check
+       for rtx code of CALL_INSN, not CALL, when deciding if we
+       need to check for REG_SETJMP note.
+
+       * gcse.c (compute_hash_table, compute_store_table): Update
+       the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
+       logic.
+
+       * config/avr/avr.c: Fix typo.
+       * config/convex/convex.c (expand_movstr): Use adjust_address.
+       * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
+       variable.
+       * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
+       * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
+       Fix typo.
+       * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
+       Do define STACK_BOUNDARY.
+       * config/i370/i370.c: Include expr.h.
+       * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
+       config/pa/som.h, config/v850/v850.h: Take in_ctors and
+       in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
+       and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
+       * config/m88k/m88k.c: Include c-tree.h after expr.h.
+       * config/pdp11/pdp11.c: Include expr.h and toplev.h.
+       * config/romp/romp.c: Include expr.h after tree.h.
+       Include toplev.h.
+       (output_fpop): Use xmalloc, not oballoc.
+       * config/we32k/we32k.c: Include expr.h.
+
+2001-08-10  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.h: Fix formatting.
+
+2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
+
+       * c-common.h (RETURN_NULLIFIED_P): Lose.
+       * c-semantics.c (genrtl_return_stmt): Don't check it.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
+       (mips_annotate_frame_insn): New function.
+       (mips_emit_frame_related_store): New function.
+       (save_restore_insns): Don't mark instructions that set up the base
+       registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
+       the store instructions instead.
+       (mips_expand_prologue): If the stack size is moved into a temporary
+       register, do not mark that move as frame-related.  Add a
+       REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (save_restore_insns): Don't mark the RA's
+       stack slot as unchanging if current_function_calls_eh_return.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (reload_outcc): Use HARD_REGNO_NREGS to
+       access the second half of the TFmode scratch operand.
+
+2001-08-10  Anthony Green  <green@redhat.com>
+
+       * java/class.c (emit_register_classes): Conditionalize code on
+       JCR_SECTION_NAME.
+
+2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Specific, avr): Fix cross-reference to the
+       main manual to work both for info and HTML versions.
+
+2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * stmt.c (expand_null_return_1): Remove code to generate simple returns
+       and "use_goto" argument.
+       (expand_null_return, expand_value_return): Update all callers.
+       * function.c (expand_function_end): Remove code to generate simple
+       return.
+       * config/vax/vax.md (epilogue): New expander for function return.
+       * doc/md.texi (epilogue): Remove "if defined".
+
+2001-08-09  Zack Weinberg  <zackw@stanford.edu>
+
+       * Makefile.in: Partially revert my previous change:
+       put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
+       of the hashtab.o and safe-ctype.o rules.
+
+2001-08-09  Richard Henderson  <rth@redhat.com>
+
+       * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
+       (USE_COLLECT2): Remove duplicate definition.
+       * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
+       (use_collect2): Remove dead code.
+       * configure.in (use_collect2): Remove will_use_collect2 and
+       maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
+       * configure: Rebuild.
+
+       * target.h (targetm.asm_out.constructor): New.
+       (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
+       * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
+       (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
+       * varasm.c (in_ctors, in_dtors): New.
+       (assemble_constructor, assemble_destructor): Remove.
+       (default_stabs_asm_out_destructor): New.
+       (default_named_section_asm_out_destructor): New.
+       (dtors_section, default_dtor_section_asm_out_destructor): New.
+       (default_stabs_asm_out_constructor): New.
+       (default_named_section_asm_out_constructor): New.
+       (ctors_section, default_ctor_section_asm_out_constructor): New.
+       * output.h: Update declarations.
+       * c-decl.c (c_expand_body): Use target hooks instead of
+       assemble_constructor and assemble_destructor.
+       * profile.c (output_func_start_profiler): Likewise.
+       * objc/objc-act.c (finish_objc): Likewise.
+       (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
+       for the constructor.
+       * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
+
+       * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
+       (DTORS_SECTION_ASM_OP): Likewise.
+       (__CTOR_LIST__): Use attribute section when possible.
+       (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
+
+       * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
+       ASM_OUTPUT_CONSTRUCTOR.
+
+       * config/darwin.c (machopic_asm_out_constructor): New.
+       (machopic_asm_out_destructor): New.
+       * config/darwin-protos.h: Update declarations.
+       * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+       * config/nextstep.c (nextstep_asm_out_constructor): New.
+       (nextstep_asm_out_destructor): New.
+       * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+       * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
+       ASM_OUTPUT_*STRUCTOR.
+       * config/i386/aix386ng.h: Likewise.
+
+       * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
+       (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
+       (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+       * config/lynx.h: Likewise.
+       * config/netware.h: Likewise.
+       * config/psos.h: Likewise.
+       * config/alpha/alpha-interix.h: Likewise.
+       * config/alpha/elf.h: Likewise.
+       * config/arc/arc.h: Likewise.
+       * config/arm/aof.h: Likewise.
+       * config/arm/coff.h: Likewise.
+       * config/arm/elf.h: Likewise.
+       * config/c4x/c4x.h: Likewise.
+       * config/h8300/h8300.h: Likewise.
+       * config/i386/cygwin.h: Likewise.
+       * config/i386/djgpp.h: Likewise.
+       * config/i386/i386-coff.h: Likewise.
+       * config/i386/i386-interix.h: Likewise.
+       * config/i386/sco5.h: Likewise.
+       * config/i386/vsta.h: Likewise.
+       * config/i386/win32.h: Likewise.
+       * config/i960/i960-coff.h: Likewise.
+       * config/ia64/sysv4.h: Likewise.
+       * config/m68hc11/m68hc11.h: Likewise.
+       * config/m68k/coff.h: Likewise.
+       * config/m68k/mot3300.h: Likewise.
+       * config/m88k/m88k.h: Likewise.
+       * config/mcore/mcore-pe.h: Likewise.
+       * config/mcore/mcore.h: Likewise.
+       * config/mips/elf.h: Likewise.
+       * config/mips/elf64.h: Likewise.
+       * config/mips/iris6.h: Likewise.
+       * config/pa/pa64-hpux.h: Likewise.
+       * config/rs6000/sysv4.h: Likewise.
+       * config/sh/sh.h: Likewise.
+       * config/sparc/litecoff.h: Likewise.
+
+       * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
+       (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
+       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+       * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       * config/a29k/a29k.c: Move include of tree.h.
+       * config/a29k/udi.h: Delete file.
+       * config/alpha/alpha.c (vms_asm_out_constructor): New.
+       (vms_asm_out_destructor): New.
+       * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
+       (EXTRA_SECTION_FUNCTIONS): Likewise.
+       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+       * config/c4x/c4x.c: Move include of tree.h.
+       * config/clipper/clipper.c (clix_asm_out_constructor): New.
+       (clix_asm_out_destructor): New.
+       * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+       * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR): New.
+       * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
+       (sco_asm_out_constructor): New.
+       * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
+       * config/i386/svr3gas.h: Remove stack grows up code.
+       Remove code duplicated from i386/sysv3.h.
+       (TARGET_ASM_CONSTRUCTOR): New.
+       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
+       (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
+       * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR): New.
+       * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
+       (m68hc11_asm_out_destructor): New.
+       * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
+       (TARGET_ASM_DESTRUCTOR): New.
+       * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
+       * config/m68k/dpx2.h: Properly undef all the bits inherited from
+       config/svr3.h pertaining to section manipulation.
+       * config/m68k/dpx2g.h: Remove #if 0 code.
+       * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
+       * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
+       (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR): New.
+       * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
+       (m88k_svr3_asm_out_constructor): New.
+       (m88k_svr3_asm_out_destructor): New.
+       * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+       * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
+       * config/rs6000/aix.h: Likewise.
+       * config/mips/rtems64.h: Don't undef removed constructor related bits.
+       * config/mips/vxworks.h: Likewise.
+       * config/rs6000/lynx.h: Likewise.
+       * config/sh/elf.h: Likewise.
+       * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
+       (DTORS_SECTION_ASM_OP): New.
+       * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       * config/sparc/sol2-sld-64.h: Likewise.
+       * config/vax/vax.c (vms_asm_out_constructor): New.
+       (vms_asm_out_destructor): New.
+       * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
+       (ASM_OUTPUT_DESTRUCTOR): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+
+       * doc/tm.texi (@node Initialization): Update.
+
+2001-08-09  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/crtbegin.asm (__JCR_LIST__): New.
+       (__do_global_dtors_aux): Use gp-relative static data to avoid
+       one dynamic relocation.
+       (__do_frame_setup): Register Java classes.
+       * config/alpha/crtend.asm (__JCR_END__): New.
+
+2001-08-09  Zack Weinberg  <zackw@stanford.edu>
+
+       * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
+       (CONFIG_H, TCONFIG_H, TM_P_H): Update.
+       (GEN, STAGESTUFF): Add new files.
+       (insn-constants.h, s-constants, tm-preds.h, s-preds,
+       genconstants, genpreds, genconstants.o, genpreds.o): New rules.
+       (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
+       * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
+       as well as insn-codes.h and insn-flags.h in config.h; and no
+       extra headers in tconfig.h and hconfig.h.
+
+       * gencodes.c: Eliminate code to generate predicate declarations
+       or #defines for md-file constants.
+       * genconstants.c, genpreds.c: New files.
+
+       * i386.md: Re-order guard expressions such that TARGET_64BIT
+       comes first, when this permits better optimization.  Add
+       TARGET_64BIT to more x86-64 patterns.  Add comment explaining
+       why this is desirable.
+
+2001-08-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
+       (find_fde_for_dso): Remove.
+       (_Unwind_IteratePhdrCallback): New.
+       (_Unwind_FindTableEntry): Use dl_iterate_phdr.
+       * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
+
+Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
+       (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
+
+2001-08-09  Graham Stott  <grahams@redhat.com>
+
+       * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
+       (vis_no_unit): Use it.
+       (visualize_no_unit): Add the insn only if room exists.
+
+2001-08-09  Graham Stott  <grahams@redhat.com>
+
+       * predict.c (estimate_probability): Replace magic numbers with
+       appropriate enumeration.
+
+2001-08-09  Graham Stott  <grahams@redhat.com>
+
+       * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
+       parameter.
+       (EXTRACT_FLAGS): Likewise.
+
+2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/mips/mips.c    (mips_legitimate_address_p): Check for
+       CONST_INT in last patch.
+
+2001-08-08  Anthony Green  <green@redhat.com>
+
+       * java/class.c (emit_register_classes): Use assemble_jcr if
+       possible.  Keep the original mechanism as a fallback.
+       * defaults.h (JCR_SECTION_NAME): Define if we have named section
+       and weak symbol support.
+       * crtstuff.c (__JCR_LIST__): Define.
+       (__JCR_END__): Define.
+       (_Jv_RegiserClasses): Define weak symbol if possible.
+       (__do_global_ctors_aux): Register classes for ELF targets with
+       weak symbol support.
+
+2001-08-08  Kazu Hirata  <kazu@hxi.com>
+
+       * dbxout.c: Fix comment formatting.
+       * dependence.c: Likewise.
+       * df.c: Likewise.
+       * diagnostic.c: Likewise.
+       * dominance.c: Likewise.
+       * doprint.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * dwarfout.c: Likewise.
+       * emit-rtl.c: Likewise.
+       * except.c: Likewise.
+       * explow.c: Likewise.
+       * expmed.c: Likewise.
+       * expr.c: Likewise.
+       * flow.c: Likewise.
+       * fold-const.c: Likewise.
+       * function.c: Likewise.
+
+2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * global.c (retry_global_alloc): Avoid shadowing allocno.
+
+2001-08-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * except.c (remove_fixup_regions): Fix typo.
+
+2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
+
+       * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
+       unsigned HOST_WIDE_INT to avoid warning.
+       * final.c (final): Cast INSN_UID to unsigned to avoid warning.
+       * flow.c (set_block_for_new_insns): Likewise.
+
+Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * sibcall.c (return_value_pseudo): New static variable.
+       (skip_copy_to_return_value): Handle return_value_pseudo.
+       (call_ends_block_p): Ensure that return_value_pseudo is set.
+       (optimize_sibling_and_tail_recursive_call): Discover the
+       load of pseudo return value in alternate exit block.
+
+Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (ECF_ALWAYS_RETURN): New constant.
+       (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
+       (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
+       (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
+       * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
+       * rtl.c (reg_note_name): New name.
+       * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
+
+2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
+
+2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
+
+       * alias.c (get_alias_set): Return a previously calculated
+       alias set for a VAR_DECL.
+       * function.c (gen_mem_addressof): Calculate the alias set before
+       touching the RTL.
+
+Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.def: Set hitrates according our experimental run.
+
+Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.h (HARD_REGNO_RENAME_OK): New macro.
+
+2001-08-08  H.J. Lu <hjl@gnu.org>
+
+       * config/mips/mips.c (mips_unique_section): New. Copied from
+       config/mips/elf.h.
+
+       * config/mips/mips-protos.h (mips_unique_section): New
+       prototype.
+
+       * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
+
+       * config/mips/little.h: New. Generic little endian mips
+       targets. Only mips*-*-linux* is converted to use it so far.
+
+       * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
+       (WCHAR_TYPE): Defined
+       (WCHAR_TYPE_SIZE): Likewise.
+       (INIT_SUBTARGET_OPTABS): Likewise.
+       (BSS_SECTION_ASM_OP): Likewise.
+       (SBSS_SECTION_ASM_OP): Likewise.
+       (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+       (ASM_DECLARE_OBJECT_NAME): Likewise.
+       (UNIQUE_SECTION): Likewise.
+       (EXTRA_SECTIONS): Likewise.
+       (ASM_OUTPUT_CONSTRUCTOR): Likewise.
+       (ASM_OUTPUT_DESTRUCTOR): Likewise.
+       (ASM_OUTPUT_DEF): Likewise.
+       (HANDLE_SYSV_PRAGMA): Removed.
+       (NO_IMPLICIT_EXTERN_C): Likewise.
+       (TARGET_MEM_FUNCTIONS): Likewise.
+       (STARTFILE_SPEC): Likewise.
+       (ENDFILE_SPEC): Likewise.
+       (LIB_SPEC): Likewise.
+       (INVOKE__main): Likewise.
+       (CTOR_LIST_BEGIN): Likewise.
+       (CTOR_LIST_END): Likewise.
+       (DTOR_LIST_BEGIN): Likewise.
+       (DTOR_LIST_END): Likewise.
+       (SET_ASM_OP): Likewise.
+       (ASM_OUTPUT_SOURCE_LINE): Likewise.
+       (ASM_OUTPUT_DEF): Likewise.
+       (ASM_OUTPUT_IDENT): Likewise.
+
+       * config/mips/mips.h (ASM_SPEC): Undefine before define.
+       (CPLUSPLUS_CPP_SPEC): Likewise.
+       (ASM_APP_ON) Redefine only if not defined.
+       (ASM_APP_OFF): Likewise.
+       (ASM_OUTPUT_SOURCE_LINE): Likewise.
+       (ASM_OUTPUT_IDENT): Likewise.
+
+       * config.gcc: Update tm_file for Linux/mips.
+
+2001-08-08  Bernd Schmidt  <bernds@redhat.com>
+
+       * cselib.c (cselib_record_sets): If insn is predicated, turn
+       sources into IF_THEN_ELSEs.
+
+       * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
+       Turn into define_insn_and_split.
+
+       * sched-deps.c: Include "cselib.h".
+       (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
+       Use cselib to turn memory addresses into VALUEs.
+       (sched_analyze): Call cselib_init/cselib_finish if necessary.
+       * sched-int.h (struct sched_info): New member USE_CSELIB.
+       * sched-ebb.c (ebb_sched_info): Initialize it.
+       * sched-rgn.c (rgn_sched_info): Likewise.
+       * Makefile.in (sched-deps.o): Update dependencies.
+
+       * cselib.h (cselib_subst_to_values): Declare.
+       * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
+       that have no value and autoincs to be handled by generating a new
+       dummy value.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
+       within fixed length SEQUENCE.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
+       (diagnostic_prefixing_rule): Likewise.
+       (diagnostic_line_cutoff): Likewise.
+       (diagnostic_kind_count): Likewise.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * alias.c (find_base_decl): Delete redundent assignment.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
+       (abs): Uppercase and paranthesize macro parameter.
+       (MEM_DEPENDENCY): Add whitespace.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
+       failure check for CONST_INT
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
+       (libcall_dead_p): Likewise.
+
+       (mark_used_regs): Constify fmt.
+       (find_use_as_address): Likewise.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
+        parameter.
+
+2001-08-08  Graham Stott  <grahams@redhat.com>
+
+       * combine.c (combine_simplify_rtx): Update comment and
+       remove erroneous test.
+
+2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppinit.c (cpp_finish): Pop the final buffer without comment.
+       * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
+       take care to avoid multiple no-newline at EOF warnings in that
+       case.
+
+Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (expand_call): Do not emit INSN_SETJMP note.
+       (emit_library_call_value_1): Likewise.
+       (emit_call_1): Emit REG_SETJMP note.
+       * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
+       of INSN_SETJMP
+       * cselib.c (cselib_process_insn): Likewise.
+       * flow.c (propagate_block): Likewise.
+       * loop.c (find_and_verify_loops): Likewise.
+       * reload.c (find_equiv_regs): Likewise.
+       * reload1.c (reload): Likewise.
+       * resource.c (mark_referenced_resources,
+       mark_set_resources): Likewise.
+       * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
+       * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
+       * haifa-sched.c (unlink_other_notes): Likewise.
+       (reemit_notes): Likewise.
+       * sched-ebb.c (sched_ebb): Likewise.
+       * sched-rgc.c (sched_region): Likewise.
+       * rtl.c (note_insn_name): Likewise.
+       (reg_note_name): Add REG_SETJMP
+       * rtl.h (reg_note): Add REG_SETJMP.
+       (insn_note): Remove NOTE_INSN_SETJMP.
+
+       * profile.c (branch_prob): Add fake edges for setjmp.
+
+2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config.gcc: Quote target_cpu_default2 correctly for
+       powerpc*-*-* targets.
+
+2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpplib.h, line-map.h: Update comments.
+       * cppmain.c (printer_init): Move inline.
+       (maybe_print_line, print_line): Take a map pointer.
+       (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
+       (cb_file_change): Don't use prior value of print.map.
+
+2001-08-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/install.texi: Document fine-grained multilib configuration.
+
+Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * rtlanal.c (find_first_parameter_load): Call note_stores
+       only on the instructions.
+
+Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * alias.c (nonlocal_mentioned_p):
+       Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
+       * calls.c (emit_call_1): Likewise.
+       * cse.c (cse_insn, invalidate_skipped_block): Likewise.
+       * cselib.c (cselib_process_insn): Likewise.
+       * df.c (df_insns_modify): Likewise.
+       * flow.c (need_fake_edge_p): Likewise.
+       (propagate_one_insn): Likewise.
+       * haifa-sched.c (reemit_notes): Likewise.
+       * integrate.c (copy_insn_list): Likewise.
+       * jump.c (delete_prior_computation): Likewise.
+       * local-alloc.c (validate_equiv_mem): Likewise.
+       * loop.c (scan_loop): Likewise.
+       * predict.c (estimate_probability): Likewise.
+       * reload.c (reload): Likewise.
+       * sched-deps (sched_analyze): Likewise.
+       * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
+       * gcse.c (compute_hash_table): Likewise.
+       (mark_call): Likewise.
+       (store_killed_in_insn): Likewise.
+
+2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
+
+       * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
+
+2001-08-06  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (assemble_gc_entry): Remove.
+       * output.h: Likewise.
+
+2001-08-06  Richard Henderson  <rth@redhat.com>
+
+       * varasm.c (assemble_constructor): Take a symbol_ref and a
+       priority instead of a bare string.  Move priority handling
+       here from cp/decl2.c.
+       * output.h: Update decls.
+
+       * c-decl.c (c_expand_body): Update calls to assemble_constructor
+       and assemble_destructor.
+       * profile.c (output_func_start_profiler): Likewise.
+       * objc/objc-act.c (finish_objc): Likewise.
+       (build_module_descriptor): Return the symbol not the symbol name.
+
+2001-08-06  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
+       * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
+       ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
+       * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
+       * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
+       * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
+
+2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpperror.c (print_containing_files): Moved to line-map.c.
+       (print_location): line-map.c handles re-listing or otherwise.
+       * cpphash.h (struct lexer_state): Remove next_bol.
+       (struct cpp_buffer): Remove include_stack_listed.
+       * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
+       Remove faked buffer handling.
+       (_cpp_do_file_change): Tweak.
+       * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
+       * cppmain.c (struct printer): Remove filename.
+       (print_line, cb_file_change): Update accordingly.
+       * line-map.c: Include intl.h.
+       (init_line_maps): Initialize last_listed.
+       (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
+       (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
+       (print_containing_files): New.
+       * line-map.h (struct line_maps): New member last_listed.
+       (print_containing_files, INCLUDED_FROM): New.
+       * Makefile.in: Update.
+       * po/POTFILES.in: Add line-map.c.
+
+2001-08-06  Richard Henderson  <rth@redhat.com>
+
+       * except.c (convert_from_eh_region_ranges_1): Never mark
+       USE or CLOBBER insns as throwing.
+
+       * expr.c (store_constructor): Don't clobber memory targets.
+
+2001-08-06  Andreas Jaeger  <aj@suse.de>
+
+       * profile.c (branch_prob): Remove unused variable insn.
+
+       * Makefile.in (local-alloc.o): Add dependency on except.h.
+
+       * local-alloc.c: Include except.h for can_throw_internal prototype.
+
 2001-08-06  Richard Henderson  <rth@redhat.com>
 
        * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
        * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
 
        * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
-       readded. 
+       readded.
 
        * config/rs6000/linux64.h: Ditto.
 
 
        * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
        to rs6000.h
-       
+
 2001-08-05  Richard Henderson  <rth@redhat.com>
 
        * local-alloc.c (update_equiv_regs): Do not move insns that
@@ -210,7 +970,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
 
-       * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory 
+       * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
        and soft register for operand 0.
        ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
 
@@ -227,7 +987,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
 
-       * sparc-protos.h: Add prototypes for fp_zero_operand and 
+       * sparc-protos.h: Add prototypes for fp_zero_operand and
        reg_or_0_operand.
        * sh-protos.h: Add prototype for fpul_operand.
 
@@ -237,7 +997,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-08-03  Richard Henderson  <rth@redhat.com>
 
-       * target.h (gcc_target): Add asm_out.named_section, 
+       * target.h (gcc_target): Add asm_out.named_section,
        section_type_flags, have_named_sections.
        * target-def.h (TARGET_ASM_NAMED_SECTION): New.
        (TARGET_HAVE_NAMED_SECTIONS): New.
@@ -287,7 +1047,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
        * config/mips/elf.h, config/mips/elf64.h: Likewise.
        * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
-       * config/pa/pa64-hpux.h, 
+       * config/pa/pa64-hpux.h,
 
        * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
        (TARGET_ASM_NAMED_SECTION): New.
@@ -383,7 +1143,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
        (__gthread_mutex_init_function): New function for mutex initialization.
 
 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
-       
+
        * Makefile.in: Revert screwed up commit.
 
 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
@@ -403,9 +1163,9 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
        (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
 
 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
-       
+
        * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
-       
+
        * Makefile.in: Add df.h to gcse.c dependencies.
 
 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
@@ -433,7 +1193,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
        the answer, and just want to know if the store itself was killed.
        (build_store_vector): Largely rewritten to calculate the various
        vectors properly, and somewhat optimized.
-       (store_motion): Init the df_analyzer, get REG_DEF chains. 
+       (store_motion): Init the df_analyzer, get REG_DEF chains.
        Also handle trapping expressions (since mems almost always trap)
        (simple_mem): Redefine what a simple mem is.
 
@@ -453,7 +1213,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * doc/install.texi (Configuration): Fix markup.
        (Specific, i?86-*-udk): Likewise.
        (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
-       --with-gnu-ld. 
+       --with-gnu-ld.
        Document --enable-threads and --enable-libgcj status.
        (Specific, mips-sgi-irix*): Canonicalize triples.
        (Specific, mips-sgi-irix5): Warn about problems with this config.
@@ -635,7 +1395,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
 
        * config.gcc: Recognize powerpc-*-netbsd*.
-       
+
        * doc/install.texi (Host/target specific installation notes for
        GCC): Mention powerpc-*-netbsd*.
 
@@ -651,7 +1411,7 @@ Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
        (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
        (ncrti.S, ncrtn.S): New targets.
        ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
-       
+
        * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
        "netbsd' as a V4 ABI.
        (ASM_SPEC): Check for -mcall-netbsd.
@@ -811,8 +1571,6 @@ Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
        (SET_ASM_OP): Remove, now defined where needed.
        (FUNCTION_PROLOGUE): New macro definition.
        (FUNCTION_EPILOGUE): New macro definition.
-       (CONST_OK_FOR_LETTER_P): Change N to require that value is
-       positive, too.
        (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
 
        * config/rs6000/xcoff.h: New file.
@@ -1165,6 +1923,22 @@ Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
        variable access.
 
+2001-07-26  Andrew Haley  <aph@redhat.com>
+       Joern Rennecke <amylaar@redhat.com>
+
+       * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
+       (SUBTARGET_CPP_ENDIAN_SPEC): New.
+       (SUBTARGET_CPP_SPEC): New.
+       (CPP_SPEC): Remove.
+       * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
+       (SUBTARGET_CPP_PTR_SPEC): New.
+       (CPP_DEFAULT_CPU_SPEC): New.
+       (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
+       SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+       (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
+       SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+       (SUBTARGET_CPP_SPEC): Define as an empty string.
+
 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
        * doc/install.texi (Configuration): Properly link the host