OSDN Git Service

* mips.c (block_move_loop): Test Pmode == DImode instead of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 1314284..9add725 100644 (file)
@@ -1,3 +1,450 @@
+Tue Apr 21 12:05:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mips.c (block_move_loop): Test Pmode == DImode instead of
+       TARGET_MIPS64.
+       (expand_block_move, save_restore_insns): Likewise.
+       (function_prologue, mips_expand_prologue): Likewise.
+       (mips_expand_epilogue): Likewise.
+       * mips.h (POINTER_SIZE): Allow specific targets to override.
+       (Pmode): Allow specific targets to override.
+       (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64
+       (POINTER_BOUNDARY, FUNCTION_MODE): Likewise.
+       (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise.
+       (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise.
+       (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+       (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise.
+       * mips.md (indirect, tablejump & casesi support): Test for
+       Pmode == DImode instead of TARGET_MIPS64.
+       (call patterns): Likewise.
+
+Tue Apr 21 09:43:55 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
+       for gen_rtx(MEM, ...).
+
+Tue Apr 21 02:15:36 1998  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
+       to not be so gross, and to properly function with PIC.
+
+Mon Apr 20 20:44:25 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * frame.c (heapsort): Rename to frame_heapsort.
+
+       * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
+
+Mon Apr 20 12:43:09 1998  Doug Evans  <devans@canuck.cygnus.com>
+
+       * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
+
+Mon Apr 20 15:04:14 1998  John Wehle  (john@feith.com)
+
+       * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
+       operands during and after reload.
+
+Mon Apr 20 22:37:50 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * final.c (shorten_branches, init_insn_lengths): Move code
+       to free label_align, uid_shuid, insn_lengths, insn_addresses
+       and uid_align from the former function into the latter one;
+       Add code to clear these variables.
+       * sh.h (label_align): Remove declaration.
+
+Mon Apr 20 14:48:29 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * gcc.c (lang_specific_driver): Declare prototype properly so
+       fatal can be passed to it without error.
+
+       * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
+       * configure: Regenerate.
+       * config.in: Add #undef's for strchr and strrchr.
+
+       * protoize.c (toplevel): If we have rindex, but not strrchr, map
+       rindex to strrchr.
+       (file_could_be_converted): Use strrchr, not rindex since rindex is
+       not defined on Linux systems when _POSIX_SOURCE is defined.
+       (file_normally_convertible): Ditto.
+       (process_aux_info_file): Ditto.
+       (main): Ditto.
+
+       * rs6000.md (mov{sf,df} define_splits): When splitting a move of
+       a constant to an integer register, don't split the insns that do
+       the simple AND and OR operations, rather just split each word, and
+       let the normal movsi define split handle it further.
+
+Mon Apr 20 18:19:40 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
+       (split_branches): Call init_insn_lengths.
+
+Mon Apr 20 07:37:49 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * i386.c: Include expr.h to get the change_address prototype
+       declared.
+       
+Mon Apr 20 01:00:05 1998  H.J. Lu  (hjl@gnu.org)
+
+       * reg-stack.c (subst_asm_stack_regs): Change to return the last
+       new insn generated by this function.
+       (subst_stack_regs): Likewise.
+       (convert_regs): Record the last newly generated insn and use
+       it for change_stack () instead of INSN.
+
+Sun Apr 19 15:41:24 1998  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * fix-header.c (enum special_file): Undefine enumerators if they
+       are already defined by include files.
+       * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection
+       macro with '__' to not pollute user namespace.
+
+Sun Apr 19 02:42:06 1998  Richard Henderson  <rth@cygnus.com>
+
+       * haifa-sched.c (queue_to_ready): Fix typo in prototype.
+
+Sat Apr 18 23:52:35 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Apr 18 18:30:22 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
+
+       * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC.
+       Add missing -Dpentium* options.
+       (CPP_CPU_SPEC): Delete redundant definition.  Include cpp_cpu_default
+       instead of CPP_CPU_DEFAULT.
+       (EXTRA_SPECS): Add entry for cpp_cpu_default.
+
+Sat Apr 18 19:06:59 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be
+       negative in a stackless frame.
+       * rs6000.c (rs6000_stack_info): Don't include fixed-size link area
+       in stackless frame size.  Support 64-bit stackless frame size.
+       Combine fpmem offset calculations and don't add total_size to
+       offset if not pushing a stack frame.
+
+Sat Apr 18 15:41:16 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * regmove.c (fixup_match_1): In three places, in flag_exceptions
+       check, change p to q.
+
+Sat Apr 18 15:30:49 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * gcc.c (lang_specific_driver): Add new parm type to prototype.
+       (added_libraries): New file scope static variable.
+       (process_command): Initialize added_libraries.  Pass it to
+       lang_specific_driver.
+       (main): Use added_libraries in check for no input files.
+       
+Sat Apr 18 01:23:11 1998  John Carr  <jfc@mit.edu>
+
+       * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9
+       code generation.  Use 64 bit instructions in 32 bit mode when
+       possible.  Use V9 return instruction.  UltraSPARC optimizations.
+
+        * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
+
+Fri Apr 17 22:38:17 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg,
+       just pass zero.  That will work regardless of the size of HARD_REG_SET.
+
+       * libgcc2.c (__floatdisf): Fix a couple typos.
+
+Fri Apr 17 17:28:26 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
+
+Fri Apr 17 16:35:35 1998  Greg McGary  <gkm@gnu.org>
+
+       * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo.
+
+Fri Apr 17 14:30:37 1998  John Carr <jfc@mit.edu>
+
+       * emit-rtl.c (operand_subword_force): If a register can not be
+       accessed by words, copy it to a pseudo register.
+
+Fri Apr 17 14:30:37 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
+
+Fri Apr 17 17:01:25 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * tree.h (mark_seen_cases): Delete declaration.
+
+Fri Apr 17 13:32:20 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * stmt.c (mark_seen_cases): Make static and add prototype.
+
+Fri Apr 17 11:21:43 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+        * frame.c: Include stdlib.h and unistd.h to possibly get various
+        function prototypes.  The fixproto script guarantees these header
+        files exist on the target system.
+        * libgcc2.c: Likewise.
+        * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock,
+        __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the
+        function parameters.
+        * libgcc2.c (__udiv_w_sdiv): Likewise.
+
+Thu Apr 16 22:41:02 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * varasm.c (asm_output_bss): Add prototype.
+       (asm_output_aligned_bss): Likewise.
+
+       * unroll.c (verify_addresses): Add prototype.
+
+       * toplev.c: Add many prototypes.  Too many to mention here.
+
+       * stmt.c (check_seenlabel): Add prototype.
+
+       * rtlanal.c (reg_set_p_1): Add prototype.
+       (reg_set_last_1): Likewise.
+
+       * reorg.c (find_dead_or_set_registers): Add prototype.
+       
+       * regmove (try_auto_increment): Add prototype.
+
+       * reg-stack.c (pop_stack): Add prototype.
+
+       * recog.c (validate_replace_rtx_1): Add prototype.
+       (find_cosntant_term_loc): Likewise.
+
+       * loop.c (regs_patch_p): Add prototype.
+       (add_label_notes, count_nonfixed_reads): Likewise.
+       (find_single_use_in_loop): Likewise.
+       (express_from): Surround prototype with #ifdef.
+       (giv_sort): Similarly.
+
+       * jump.c (mark_modified_reg): Add prototype.
+
+       * haifa-sched.c (is_prisky): Add prototype.
+       (queue_to_ready): Likewise.
+
+       * genextract.c (gen_insn): Add prototype.
+
+       * genemit.c (max_operand_1): Add prototype.
+       (max_operand_vec, print_code, gen_exp, gen_insn): Likewise.
+       (gen_expand, gen_explit, output_add_clobbers): Likewise.
+       (output_init_mov_optab): Likewise.
+
+       * genattrtab.c (attr_hash_add_rtx): Add prototype.
+       (attr_hash_add_string, write_length_unit_log): Likewise.
+
+       * genattr.c (init_range): Add prototype.
+
+       * combine.c (sets_function_arg_p): Add prototype.
+
+       * expr.c (store_constructor_field): Add prototype.
+       (get_memory_usage_from_modifier): Likewise
+
+       * expmed.c (synth_mult): Add prototype.
+       (choose_multiplier, invert_mod2n): Likewise.
+
+       * except.c (push_eh_entry): Add prototype.
+       (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise.
+       (call_get_eh_context, start_dynamic_cleanup): Likewise.
+       (start_dynamic_handler, can_throw): Likewise.
+       (output_exception_table_entry, scan_region): Likewise.
+       (eh_regs, set_insn_eh_region): Likewise.
+
+       * dwarfout.c (decl_class_context): Add prototype.
+       (output_inheritance_die, type_ok_for_scope): Likewise.
+
+       * c-lex.c (skip_white_space_on_line): Add prototype.
+
+       * alias.c (record_set): Add prototype.
+       (find_base_term, base_alias_check): Likewise.
+       
+       * function.c (assign_outer_stack_local): Make static and add prototype.
+
+       * haifa-sched.c (build_control_flow): Accept raw data as inputs
+       instead of computing it locally.  Callers changed.
+       (find_rgns): Several new arguments.  Callers changed.
+       Generally clean up and comment better.  Use dominators to
+       identify reducible loops.  Convert some flag arrays to bitmaps.
+       Convert most of the code to work on pred/succ lists instead of
+       an edge table.  Add comments for future improvements.
+       (schedule_insns): Allocate temporary tables for flow data, call
+       routines to compute flow data and pass it along to children as
+       arguments.
+       (debug_control_flow): Delete.  Use dump_bb_data instead.
+
+       * basic-block.h (compute_dominators): Declare.
+
+       * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
+       functions.
+       * basic-block.h: Declare them.
+
+Thu Apr 16 13:45:51 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
+       no operands.
+
+Wed Apr 15 11:33:09 1998  Alexandre Petit-Bianco  <apbianco@sendai.cygnus.com>
+
+        * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL.
+        Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated
+        node is non NULL. Cache last file name and file name identifier node.
+
+1998-04-15  Mark Mitchell  <mmitchell@usa.net>
+
+       * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
+       the length of an array, not TREE_TYPE.
+
+Wed Apr 15 15:31:34 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (sbitmap_union_of_successors):  New function.
+       * basic-block.h (sbitmap_union_of_successors): Declare it.
+
+Wed Apr 15 12:38:03 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
+       Set gnu_ld to gnu_ld_flag inside main loop.
+       (gas): Likewise.
+
+Wed Apr 15 14:50:05 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * toplev.c (compile_file): Call init_parse using new interface.
+       (init_lex): Remove declaration.
+
+       * c-lex.c (init_parse): Now returns char* containing filename.
+
+Wed Apr 15 12:37:10 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
+
+Wed Apr 15 12:10:18 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
+       (gen{extract,peep,opinit,output}): Ditto.
+
+       * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a
+       global definition so print-rtl.o can be linked in.
+       * gen{peep,recog}.c (insn_attr_name): Ditto.
+
+Tue Apr 14 07:30:57 1998  K. Richard Pixley  <rich@kyoto.noir.com>
+
+       * fixincludes: discard empty C++ comments, as found in sys/time.h
+       on hpux-11.0.
+
+Wed Apr 15 10:47:21 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
+       operand.
+
+Wed Apr 15 01:21:21 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * emit-rtl.c (operand_subword): Rework slightly to avoid
+       bogus warning from previous change.
+
+Tue Apr 14 23:39:13 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's
+       Nov 8 find_replacement change.  Move decls of get_unaligned_address
+       * alpha.h: ... here.
+
+Tue Apr 14 22:00:39 1998  John Carr <jfc@mit.edu>
+
+       * function.c (assign_parms): Initialize unsignedp before passing
+       its pointer to promote_mode.
+
+       * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
+       (write_test_expr): Allow MATCH_INSN.
+
+Tue Apr 14 21:57:57 1998  Paul Eggert <eggert@twinsun.com>
+
+       * install.texi: Update section on warnings that can be safely ignored.
+
+Tue Apr 14 14:55:16 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * mips.md (reload_outdi): Change the scratch mode from DImode to
+       TImode.  New variable scratch, used instead of operand[2] in template.
+       Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P.
+
+Tue Apr 14 16:19:03 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
+
+Tue Apr 14 11:31:28 1998  Krister Walfridsson <cato@df.lth.se>
+
+       * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
+
+Tue Apr 14 09:02:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
+       (ASM_FINISH_DECLARE_OBJECT): Likewise.
+
+       * Idea and part of the patch from HJ.
+        * Makefile.in: auto-host.h renamed from auto-config.h.  All references
+        changed.
+        (distclean): Remove auto-build.h too.
+        * configure.in: Rename host autoconf generated file to auto-host.h.
+        If host != build, then run autoconf to generate auto-build.h for
+        the build machine and include it in build_xm_files.
+        Check for wait.h and sys/wait.h.
+
+       * combine.c (simplify_rtx, case TRUNCATE): Respect value of
+       TRULY_NOOP_TRUNCATION.
+
+Mon Apr 13 11:31:49 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
+
+Sun Apr 12 20:55:32 1998  Catherine Moore <clm@cygnus.com>
+
+       * invoke.texi (ld options)  Include memset requirements
+       for options -nodstdlib and -nodefaultlibs.
+
+1998-04-12  Paul Eggert  <eggert@twinsun.com>
+
+       This change is from an idea suggested by Arthur David Olson.
+
+       * c-common.c (decl_attributes, record_function_format,
+       check_format_info, init_function_format_info):
+       Add support for strftime format checking.
+       (enum format_type): New type.
+       (record_function_format): Now static, and takes value of type
+       enum format_type instead of int.
+       (time_char_table): New constant.
+       (struct function_format_info): format_type member renamed from is_scan.
+       (check_format_info): Use `warning' rather than sprintf followed by
+       `warning', to avoid mishandling `%' in warnings.
+       Change `pedwarn' to `warning', since these warnings do not necessarily
+       mean the program does not conform to the C Standard, as the code
+       need not be executed.
+
+       * c-tree.h (record_function_format): Remove decl; no longer extern.
+
+       * extend.texi: Add documentation for strftime format checking.
+
+Sun Apr 12 20:23:03 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mips/ecoffl.h: Do not include mips.h.
+       * mips/elf.h: Likewise.
+
+       * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
+       * mips/ecoff.h: Include "mips/mips.h".
+
+Sat Apr 11 22:42:54 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Apr 11 01:24:28 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes.
+       (delete_trivially_dead_insns): Renamed from delete_dead_from_cse.
+       * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns              instead of delete_dead_from_cse.  Also call delete_trivially_dead_insns
+       between loop optimization passes.
+       * rtl.h: Updated appropriately.
+
+Fri Apr 10 22:28:32 1998  Jeffrey A Law  (law@cygnus.com)
+
+       Reinstall this patch from Jason.
+       * function.c (push_function_context_to): Don't call init_emit.
+
 Fri Apr 10 13:40:20 1998  Nick Clifton  <nickc@cygnus.com>
 
        * rtl.c (read_skip_spaces): Prevent infinite loops upon
@@ -1903,6 +2350,11 @@ Fri Feb 20 16:22:13 1998  Michael Meissner  <meissner@cygnus.com>
 
        * collect2.c (main): Still handle !do_collecting for non-AIX targets.
 
+1998-02-16  Mark Mitchell  <mmitchell@usa.net>
+
+       * toplev.c (rest_of_compilation): Do not defer the output of a
+       nested function.
+
 Fri Feb 20 10:39:47 1998  Michael Tiemann  <michael@impact.tiemann.org>
 
        * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
@@ -2188,6 +2640,12 @@ Sat Feb 14 02:02:41 1998  Jeffrey A Law  (law@cygnus.com)
        * varasm.c (assemble_string): Similarly for 'i'.
        * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'.
 
+1998-02-13  Martin von Loewis  <loewis@informatik.hu-berlin.de>
+
+       * c-lang.c (lang_print_xnode): New function.
+       * objc/objc-act.c (lang_print_xnode): Likewise.
+       * print-tree.c (print_node): Call it
+
 Fri Feb 13 14:38:34 1998  Jim Wilson  <wilson@cygnus.com>
 
        * dwarf2out.c (decl_scope_node): New type.