OSDN Git Service

* Makefile.in (libgcc.mk): Depend on specs.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 995ee28..b5303fc 100644 (file)
@@ -1,3 +1,347 @@
+2002-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * Makefile.in (libgcc.mk): Depend on specs.
+
+Fri Jun 14 12:15:11 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * sh.md (mulsi3): Update way how to find insns in a sequence.
+
+Fri Jun 14 12:04:02 2002  Dhananjay R. Deshpande <dhananjayd@kpit.com>
+
+       * sh.h: Define HARD_REGNO_RENAME_OK
+       * sh.c: sh_hard_regno_rename_ok: New. If current function has
+       interrupt_handler attribute, only registers saved on stack are OK.
+       * sh-protos.h: Declare sh_hard_regno_rename_ok.
+
+2002-06-14  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (jump): Emit jump insn.
+       (call_pcrel): Get pattern of the result of gen_call_site.
+       (call_value_pcrel, sibcall_pcrel, GOTaddr2picreg): Likewise.
+
+2002-06-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (struct cpp_buffer): Remove saved_line_base.
+       * cpptrad.c: Update comments.
+       (skip_whitespace, copy_comment): Take a new parameter.
+       (skip_escaped_newlines): Don't duplicate escaped newline test.
+       (copy_comment): Different location for CUR, decide here how
+       to copy / replace the comment.
+       (skip_whitespace): Copy whitespace.
+       (_cpp_overlay_buffer, _cpp_remove_overlay): Don't play with line_base.
+       (scan_out_logical_line): Let copy comment handle keeping or
+       replacing comments.
+       (scan_parameters, _cpp_create_trad_definition): Update.
+
+2002-06-13  Alan Lehotsky  <apl@alum.mit.edu>
+
+       * reload.c (get_secondary_mem,find_reloads_address,
+       find_reloads_address_1): Pass reference to MEM to find_reloads_address
+       so that LEGITIMIZE_RELOAD_ADDRESS will be called.
+       
+2002-06-13  Jessica Han  <jessica@cup.hp.com>
+
+       * defaults.h (TARGET_VTABLE_ENTRY_ALIGN): New.
+       (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
+       * doc/tm.texi: Document them.
+       * config/ia64/ia64.h (TARGET_VTABLE_ENTRY_ALIGN): New.
+       (TARGET_VTABLE_DATA_ENTRY_DISTANCE): New.
+       (TARGET_VTABLE_USES_DESCRIPTORS): 4 word descriptors for 32-bit mode.
+       (ASM_OUTPUT_FDESC): Likewise.
+
+2002-06-13  Eric Christopher  <echristo@redhat.com>
+
+       * diagnostic.c (output_format): Fix thinko.
+
+Thu Jun 13 22:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * config/sh/coff.h (HAS_INIT_SECTION, INVOKE__MAIN): Don't define.
+       (DWARF2_UNWIND_INFO): Define to 0.
+
+       * config/sh/sh.c (calc_live_regs): Don't use initial_value
+       optimization for PR_MEDIA_REG.
+
+2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (_cpp_lex_identifier_trad): Remove.
+       * cpplib.c (end_directive): Don't skip, always remove overlay
+       apart from #define.
+       (prepare_directive_trad): Handle NULL pfile->directive.
+       (_cpp_handle_directive): Always call prepare_directive_trad
+       if traditional.
+       * cppmain.c (check_multiline_token): Rename account_for_newlines,
+       generalize inputs.
+       (scan_translation_unit_trad): Use it.
+       * cpptrad.c (skip_comment): Rename copy_comment, copy comment to
+       output, get escaped newline in comment close correct.
+       (check_output_buffer, skip_whitespace): Update.
+       (_cpp_lex_identifier_trad): Remove.
+       (scan_out_logical_line): Handle -C and comments in directives
+       properly.
+
+Thu Jun 13 20:18:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
+       * config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
+       * sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
+       (SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
+       (SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
+       (SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
+       (SELECT_SH5_COMPACT_NOFPU): Likewise.
+       (TARGET_SWITCHES): Use them.
+       (TARGET_CPU_DEFAULT): Define if not already defined.
+       (TARGET_DEFAULT): Use it.
+       (LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
+       * config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
+       * config/sh/t-monolib: New file.
+
+2002-06-13  Roger Sayle  <roger@eyesopen.com>
+
+       * toplev.c (rest_of_compilation): Simplify (and correct) the
+       logic of the first delete-null-pointer-checks pass.
+
+Thu Jun 13 18:24:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_expand_movstr):  Fix pasto.
+
+Thu Jun 13 18:18:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * reload.c (find_valid_class):  Fix thinko in my previous patch.
+
+2002-06-13  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): New macro.
+       * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): New macro.
+       (CPP_PREDEFINES, CPP_SPEC, CPP_ARCH31_SPEC, CPP_ARCH64_SPEC): Remove.
+       (EXTRA_SPECS): Remove cpp_arch31 and cpp_arch64.
+
+2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * tree-inline.c (expand_call_inline): Don' mess with _DECL
+       fields.
+
+2002-06-13  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.c (output_format): Recognize "%H" as a format
+       specifier for a location_t.
+       (text_specifies_location): New function.
+       (diagnostic_set_info): Use it.
+
+2002-06-13  Jeffrey Law  <law@redhat.com>
+
+       * emit-rtl.c (static_regno_reg_rtx): Define.
+       (init_emit_once): Initialize static_regno_reg_rtx.
+       (init_emit): Copy static_regno_reg_rtx into regno_reg_rtx instead
+       of building new hard reg objects once per function.
+       (gen_rtx_REG): Try to share hard regs.
+       * regclass.c (init_fake_stack_mems): New function broken out from
+       init_regs.
+       * rtl.h (init_fake_stack_mems): Declare.
+       * toplev.c (lang_independent_init): Call init_regs before
+       init_emit_once.  Call init_fake_stack_mems after init_emit_once.
+
+       * i386.md (extenddfxf2, extenddftf2): Fix typo/thinko.
+
+       * alias.c (argument_registers): Remove.
+       (init_alias_once): Initialize static_reg_base_value here.  Remove
+       initialization of argument_registers.
+       (init_alias_once_per_function): Remove.
+       (init_alias_analysis): Copy all the entries from static_reg_base_value
+       into new_reg_base_value all at once.
+       * rtl.h (init_alias_once_per_function): Remove declaration.
+       * function.c (prepare_function_start): Do not call
+       init_alias_once_per_function.
+
+       * caller-save.c (init_caller_save): Use gen_rtx_INSN instead of
+       starting a sequence and emitting an INSN.
+
+2002-06-13  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/r3900.h (MIPS_CPU_STRING_DEFAULT): Make lower case.
+
+2002-06-13  David S. Miller  <davem@redhat.com>
+
+       * expmed.c (init_expmed): Remove duplicate init of 'reg'.
+
+2002-06-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpplib.c (end_directive): Handle line skipping.  Only remove
+       the rest of the line if the directive was valid.
+       * cppmacro.c (_cpp_push_text_context): Set NODE_DISABLED when
+       expanding a traditional macro.
+       * cpptrad.c (recursive_macro): New.
+       (read_logical_line_trad): Handle skipping.
+       (scan_out_logical_line): Continue after a successful directive.
+       Don't expand macros whilst skipping, or if recursing.
+       (_cpp_create_trad_definition): scan_out_logical_line now sets
+       the output current position.
+
+2002-06-12  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.md (prefetch, prefetch_di, prefetch_si): New
+       patterns.
+       * config/mips/mips.h (RTX_COSTS): Fix formatting.
+
+2002-06-12  Eric Christopher  <echristo@redhat.com>
+
+       From Chris Demetriou  <cgd@broadcom.com>
+       * config/mips/mips.h (ISA_HAS_FP4): Add ISA_MIPS64 and fix
+       comment.
+       (ISA_HAS_MADD_MSUB): Ditto.
+       (ISA_HAS_NMADD_NMSUB): Ditto.
+
+2002-06-12  Eric Christopher  <echristo@redhat.com>
+
+       * config.gcc: Consolidate little endian handling and
+       little/big endian targets.
+       * config/mips/elfl.h: Remove file.
+       * config/mips/elfl64.h: Ditto.
+       * config/mips/ecoffl.h: Ditto.
+       * config/mips/r3900.h (SUBTARGET_CPP_SPEC): Remove.
+
+2002-06-12  Geoffrey Keating  <geoffk@redhat.com>
+
+       * gengtype.h (xvasprintf): New prototype.
+       (xasprintf): New prototype.
+       (struct outf): New.
+       (get_output_file): Return an outf_p.
+       (header_file): Is now an outf_p.
+       (base_files): Now are outf_p.
+       (oprintf): New.
+       * gengtype.c: Replace all output FILE * with outf_p; use oprintf
+       rather than stdio operations.  Use xasprintf in a few places,
+       when appropriate.
+       (xvasprintf): New.
+       (xasprintf): New.
+       (struct filemap): Delete.
+       (files): Delete.
+       (output_files): New.
+       (oprintf): New.
+       (create_file): Create an outf_p.  Add parameter to indicate output
+       file name, change all callers.
+       (open_base_files): Create gtype-desc.c here.
+       (get_output_file_with_visibility): Rewrite.
+       (get_output_file_name): Just look at 'name' field in struct outf.
+       (close_output_files): Rewrite.
+
+2002-06-12  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config/vax/vax.h (MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT)
+       (MASK_G_FLOAT): Define.
+       (TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT): Use them.
+       (TARGET_SWITCHES): Likewise.
+       (TARGET_DEFAULT): Likewise.
+
+2002-06-12  Daniel Jacobowitz  <drow@mvista.com>
+
+       * config/mips/elf.h (DWARF2_DEBUG_INFO): Define.
+       * config/mips/mips.c (mips_output_filename): Don't print a
+       ".file" directive if we are using DWARF-2.
+       (mips_output_function_prologue): Do not emit source file
+       name for TARGET_GAS.
+
+Wed Jun 12 16:45:13 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (shift patterns): Use (TARGET_SHIFT1 || optimize_size) to
+       decide whether emit the short opcode.
+       * i386.h (x86_shift1): Declare.
+       (TARGET_SHIFT1): New macro.
+       * i386.c (x86_shift1): New global variable.
+
+       * toplev.c (rest_of_compilation): Call find_basic_block pre-loop
+       unconditionally; make loop to rebuild CFG; kill unnecesary
+       find_basic_block calls; kill compute_bb_for_insn call.
+       * cfgbuild.c (find_basic_blocks): Kill compute_bb_for_insn call.
+       * haifa-sched.c (sched_init): Likewise.
+       * ssa-ccp.c (ssa_const_prop): Likewise.
+       * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+
+2002-06-11  David S. Miller  <davem@redhat.com>
+
+       * emit-rtl.c (emit_*_scope): Only access INSN_SCOPE if
+       active_insn_p.
+
+2002-06-11  Richard Henderson  <rth@redhat.com>
+
+       * c-common.c (builtin_define_type_max): New.
+       (cb_register_builtins): Define __SCHAR_MAX__, __SHRT_MAX__,
+       __INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__, __CHAR_BIT__.
+
+       From Joseph S. Myers:
+       * glimits.h: Rewrite to expect the double underscore definitions
+       from the compiler.
+
+       * config/alpha/unicosmk.h, config/avr/avr.h, config/h8300/h8300.h,
+       config/i386/linux64.h, config/ia64/aix.h, config/ia64/hpux.h,
+       config/ia64/ia64.h, config/m68hc11/m68hc11.h, config/m68hc11/m68hc12.h,
+       config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
+       config/pa/pa.h, config/rs6000/aix43.h, config/rs6000/aix51.h,
+       config/rs6000/linux64.h, config/s390/linux.h, config/sh/sh.h,
+       config/stormy16/stormy16.h: Don't define any of __SHRT_MAX__,
+       __INT_MAX__, __LONG_MAX__, or __LONG_LONG_MAX__.
+
+2002-06-11  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (ALPHA_BUILTIN_THREAD_POINTER): New.
+       (ALPHA_BUILTIN_SET_THREAD_POINTER): New.
+       (code_for_builtns): Update.
+       (alpha_init_builtins): Add __builtin_thread_pointer and
+       __builtin_set_thread_pointer.
+       (alpha_expand_builtin): Handle void builtins.
+       * doc/extend.texi (Alpha Built-in Functions): Update.
+
+2002-06-11  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/6997
+       * config/cris/cris.md ("sleu"): Set attribute "cc" to "none".
+
+2002-06-11  Zack Weinberg  <zack@codesourcery.com>
+
+       * config.gcc: Make the name of the extra-modes file adjustable
+       by target stanzas.
+       (s390x, strongarm, xscale stanzas): Use this facility.
+       * configure.in: Update to match.
+       * configure: Regenerate.
+
+2002-06-11  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_minmax): Treat unsigned
+       max/mins as unsigned GE compares.
+
+2002-06-11  Jason Thorpe  <thorpej@wasabisystems.com>
+
+       * config.gcc (vax-*-bsd*): Add vax/bsd.h to ${tm_file}.
+       * config/vax/bsd.h: New file.
+       * config/vax/netbsd.h: Add missing notice.
+       (CPP_PREDEFINES): Remove.
+       (TARGET_OS_CPP_BUILTINS): Define.
+       (CPP_SPEC): Use NETBSD_CPP_SPEC.
+       * config/vax/openbsd.h: Update copyright years.
+       (CPP_PREDEFINES): Remove.
+       (TARGET_OS_CPP_BUILTINS): Define.
+       * config/vax/ultrix.h: Likewise.
+       * config/vax/vaxv.h: Likewise.
+       * config/vax/vms.h: Likewise.
+       * config/vax/vax.h (TARGET_CPU_CPP_BUILTINS): Define.
+       (CPP_PREDEFINES, CPP_SPEC): Remove.
+
+Wed Jun 12 01:50:28 CEST 2002  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (addqi_1_slp, subqi_1_slp
+       (andqi_ext0, testqi_ext0): Remove unnecesary check.
+       (addhi*, addqi*): Simplify "dec" condition.
+       (testsi to testqi splitters): Remove TARGET_PROMOTE_QImode check.
+       (and, or, xor to QImode splitters): New.
+       (iorqi_ext*): New.
+       (xorqi_ext_0): New.
+       (xorqi_ext_1): Rename to xorqi_ext_2; bring to sync with and versions.
+       (andqi_ext_1_rex64): New.
+       (ashrqi*_slp): New.
+       (ashlqi*_slp): New.
+       (lshlqi*_slp): New.
+       (rotrqi3*_slp): New.
+       (rotlqi3*_slp): New.
+
 2002-06-11  Geoffrey Keating  <geoffk@redhat.com>
 
        * config.gcc (powerpc*-*-*, rs6000-*-*-*): Don't bother including
        match semantics.
        * diagnostic.c: Adjust calls to diagnostic_count_error through out.
        (diagnostic_count_diagnostic): Make aware of other kinds of
-       diagnostics. 
+       diagnostics.
        (diagnostic_initialize): Initialize warnings_are_errors_message field.
 
 2002-06-11  Tom Tromey  <tromey@redhat.com>
 
 2002-06-11  Richard Henderson  <rth@redhat.com>
 
-       * defaults.h (EH_FRAME_SECTION_NAME): Don't define if 
+       * defaults.h (EH_FRAME_SECTION_NAME): Don't define if
        DWARF2_UNWIND_INFO is false.
 
 2002-06-11  Bob Wilson  <bob.wilson@acm.org>
 
        * config/xtensa/t-xtensa (LIBGCC1_TEST, CROSS_LIBGCC1): Delete.
 
-2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
        * config/s390/s390.c (emit_prologue): gen_store_multiple
        returns an insn now, not a pattern.
 
@@ -112,6 +454,9 @@ Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-06-11  Jeffrey Law <law@redhat.com>
 
+       * emit-rtl.c (try_split): Use INSN_LAST, not LAST_INSN to get the
+       last insn created by the splitter.
+
        * caller-save.c (init_caller_save): Move creation of SAVEINSN
        and RESTINSN into into the scope of the sequence.
 
@@ -139,19 +484,19 @@ Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
 2002-06-11  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.md (reload_base, ltorg): Remove.
-       * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool, 
+       * s390.c (s390_stop_dump_lit_p, s390_dump_literal_pool,
        s390_asm_output_pool_prologue, s390_pool_start_insn): Remove.
-       * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool, 
+       * s390-protos.h (s390_stop_dump_lit_p, s390_dump_literal_pool,
        s390_asm_output_pool_prologue): Likewise.
        * s390.h (s390_pool_start_insn): Likewise.
 
-       * s390.c (s390_output_symbolic_const): Remove support for 
+       * s390.c (s390_output_symbolic_const): Remove support for
        old-style pool chunks.
        (s390_function_epilogue): Likewise.
-       (s390_output_constant_pool): Likewise.  Also, fix incorrect 
+       (s390_output_constant_pool): Likewise.  Also, fix incorrect
        alignment for 64-bit literal pools.
        (print_operand_address): Remove 'y' and 'Y' format flags.
-       * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for 
+       * s390.h (ASM_OUTPUT_POOL_PROLOGUE): Remove support for
        old-style pool chunks.
        (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise.
        (ASM_OUTPUT_POOL_EPILOGUE): Remove.
@@ -160,23 +505,23 @@ Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
        * s390.c (consttable_operand): New function.
        * s390-protos.h (consttable_operand): Declare it.
        * s390.h (PREDICATE_CODES): Add consttable_operand.
-       * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di, 
-       consttable_sf, consttable_df, pool_start_31, pool_end_31, 
+       * s390.md (consttable_qi, consttable_hi, consttable_si, consttable_di,
+       consttable_sf, consttable_df, pool_start_31, pool_end_31,
        pool_start_64, pool_end_64, reload_base, reload_base2): New insns.
        * s390.c (struct constant, struct constant_pool): New data types.
        (constant_modes, gen_consttable): New variables.
-       (s390_start_pool, s390_end_pool, s390_add_pool, 
+       (s390_start_pool, s390_end_pool, s390_add_pool,
        s390_dump_pool, s390_free_pool): New functions.
-       (s390_chunkify_pool): Completely reimplement literal pool 
+       (s390_chunkify_pool): Completely reimplement literal pool
        overflow handling.
 
        * s390.c (s390_pool_overflow): New variable.
        * s390.h (s390_pool_overflow): Declare it.
-       * s390.md (cjump, icjump): Use it to adapt length for out-of-range 
+       * s390.md (cjump, icjump): Use it to adapt length for out-of-range
        jumps in literal pool overflow situations.
 
        * s390.c (s390_decompose_address): Accept new-style pool chunk offsets.
-       (s390_frame_info): Account for possible use of RETURN_REGNUM 
+       (s390_frame_info): Account for possible use of RETURN_REGNUM
        by new literal pool overflow code.
        (s390_emit_prologue): Likewise.
 
@@ -298,7 +643,7 @@ Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
        * combine.c (try_combine): Expect insn lists from split generator.
        * reorg.c (relax_delay_slots): Emit SEQUENCE into insn list by
        hand.
-       
+
 2002-06-11  Roger Sayle  <roger@eyesopen.com>
            Andreas Jaeger <aj@suse.de>
 
@@ -306,7 +651,7 @@ Tue Jun 11 21:53:37 CEST 2002  Jan Hubicka  <jh@suse.cz>
 
 2002-06-11  Andreas Schwab  <schwab@suse.de>
 
-       * config/m68k/m68k.h (PREDICATE_CODES): Define. 
+       * config/m68k/m68k.h (PREDICATE_CODES): Define.
 
 2002-06-11  Eric Christopher  <echristo@redhat.com>
 
@@ -648,7 +993,7 @@ Mon Jun 10 18:02:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
 
 2002-06-10  Tim Josling  <tej@melbpc.org.au>
 
-         First steps to making treelang documentation compliant, based on
+        First steps to making treelang documentation compliant, based on
         instructions in sourcebuild.texi. Also add to gcc.c list of
         default languages.