OSDN Git Service

1999-01-14 Vladimir N. Makarov <vmakarov@cygnus.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d456392..7ab408c 100644 (file)
@@ -1,3 +1,347 @@
+1999-01-14  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/i960/i960.c (i960_output_move_double_zero,
+       i960_output_move_quad_zero): New functions for moving zeros.
+       (i960_output_move_double, i960_output_move_quad): Additional code
+       for situation when moving unaligned register group.
+       
+        * config/i960/i960.h (i960_output_move_double_zero,
+       i960_output_move_quad_zero): The function definitions.
+
+       * config/i960/i960.md (movdi+1, movti+1): Usage of the functions.
+
+1999-01-13  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/i960/i960.c (i960_function_prologue): New code (optimal
+       solution) for saving global registers in local registers.
+       (form_reg_groups, reg_group_compare, split_reg_group): New
+       functions used by the code.
+       (reg_group): New structure definition for the new code.
+       
+Wed Jan 13 20:12:37 1999  Richard Henderson  <rth@cygnus.com>
+
+       * integrate.c (expand_inline_function): Recognize (mem (addressof))
+       and substitute.  Copy the return value from there into a new pseudo.
+
+Wed Jan 13 16:47:00 1999  Catherine Moore  <clm@cygnus.com>
+
+        * config/arm.c (output_func_epilogue):  Check TARGET_ABORT_NORETURN
+        before generating a call to abort for volatile functions.
+        * config/arm.h (ARM_FLAG_ABORT_NORETURN):  Define.
+        (TARGET_ABORT_NORETURN):  Define.
+        (abort-on-noreturn):  New option.
+
+Thu Jan 14 13:52:42 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (in_annul_slot_3): Correctly allow unarycc 
+       and binarycc operations in 3rd annulled delay slot!
+
+1999-01-12  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * m68k/mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to
+       ensure all prototypes necessary for building libio will be available.
+       * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Remove
+       definitions here as they are not host specific.
+       * m88k/sysv3.h, m88k/xm-sysv3.h: Likewise.
+
+Tue Jan 12 02:53:46 1999  Richard Henderson  <rth@cygnus.com>
+
+       * cse.c (cse_insn): Never prefer (const (constant_p_rtx)).
+
+Tue Jan 12 02:36:10 PST 1999 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Tue Jan 12 01:30:19 1999  Richard Henderson  <rth@cygnus.com>
+
+       * rtl.c (rtx_alloc): Use memset instead of inline loop.
+
+       * recog.h (recog_op_alt): Declare extern.
+
+Tue Jan 12 00:23:31 1999  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (purge_addressof_1): If the note accesses a mem+addressof
+       in a wider mode than any replacement, adjust the cached replacement.
+       Cache trivial substitutions as well.
+
+Tue Jan 12 00:06:00 1999  Richard Henderson  <rth@cygnus.com>
+
+        * Makefile.in (OBJECTS): Add sbitmap.o.
+        (BASIC_BLOCK_H): Add sbitmap.h.
+        * basic-block.h: Move simple bitmap code to sbitmap.h.
+        * flow.c: Move simple bitmap code to sbitmap.c
+        * sbitmap.h, sbitmap.c: New files.
+
+Mon Jan 11 23:51:50 1999  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.h (TARGET_SWITCHES): Document switches.
+       (TARGET_OPTIONS): Likewise.
+
+       * alpha/elf.h (ASM_FINISH_DECLARE_OBJECT): Use HOST_WIDE_INT_PRINT_DEC.
+
+Mon Jan 11 22:54:14 1999  Richard Henderson  <rth@cygnus.com>
+
+       * tree.c (new_alias_set): Return zero if !flag_strict_aliasing.
+
+Mon Jan 11 22:36:01 1999  Richard Henderson  <rth@cygnus.com>
+
+       * basic-block.h (basic_block_head): Rename to x_basic_block_head.
+       (basic_block_end): Rename to x_basic_block_end.
+       (BLOCK_HEAD, BLOCK_END): Update.
+
+       * caller-save.c: Change basic_block_head/end references to 
+       BLOCK_HEAD/END.
+       * combine.c, flow.c, function.c, gcse.c, global.c: Likewise.
+       * graph.c, haifa-sched.c, local-alloc.c, regclass.c: Likewise.
+       * regmove.c, reload1.c, reorg.c, sched.c: Likewise.
+
+Thu Jan 11 18:37:50 1999  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * invoke.texi (-mcpu=740, -mcpu=750): New options.
+        (-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
+       PPC750.
+       
+1999-01-11  Michael Meissner  <meissner@cygnus.com>
+
+       * config/rs6000/rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all
+       machines supported with -mcpu=xxx.
+       (processor_type): Add PROCESSOR_PPC750.
+       (ADJUST_PRIORITY): Call rs6000_adjust_priority.
+       (RTX_COSTS): Supply costs for 750 multiply/divide operations.
+       (rs6000_adjust_priority): Add declaration.
+       
+       * config/rs6000/rs6000.c (rs6000_override_options):
+       -mcpu={750,740} now sets the processor type as 750, not 603.
+       Allow -mmultiple and -mstring on little endian 750 systems.
+       (rs6000_adjust_priority): Stub for now.
+       (get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
+
+       * config/rs6000/rs6000.md (function/cpu attributes): Add initial
+       ppc750 support.
+
+       * config/rs6000/sysv4.h (STRICT_ALIGNMENT): Don't force strict
+       alignment if little endian.
+       (CC1_SPEC): Pass -mstrict-align if little endian, and not
+       overridden.
+       (CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
+       (SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
+
+       * config/rs6000/{sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC):
+       Override, default is little endian.
+
+       * config/rs6000/t-ppcgas (MULTILIB_*): Delete obsolete Solaris
+       multilibs.
+
+Sat Jan  9 23:54:09 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gcc.c (xstrerror): Renamed from my_strerror.  All callers
+       changed.  Remove prototype since we get that from libiberty.h.
+
+       * protoize.c (xstrerror): Likewise.
+
+Sat Jan  9 23:22:04 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gcc.c (read_specs): Ensure format specifiers match their arguments.
+
+Sat Jan  9 20:04:24 1999  Richard Henderson  <rth@cygnus.com>
+
+       * tree.c (copy_node): Oops.  That would be copy not zero
+       in that last change.
+
+Sun Jan 10 15:35:41 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c: Include system.h.
+       (c4x_caller_save_map): Disable caller save for RC.
+       (c4x_optimization_options): Disable scheduling before reload.
+       (valid_parallel_load_store) : Define return type as int.  
+       Remove unused variable regs.
+       * config/c4x/c4x.h (REGISTER_MOVE_COST): Make independent of register
+       class.
+       * config/c4x/c4x.md (rotlqi3, rotrqi3): Fix up emitted RTL to
+       handle rotations.
+       (*db, decrement_and_branch_until_zero): Fix up constraints
+       to keep reload happy.
+
+Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
+
+       * tree.c (make_node): Call bzero instead of inline clear.
+       (copy_node, make_tree_vec, build1): Likewise.
+       (get_identifier): Call strlen instead of inline count.
+       (maybe_get_identifier): Likewise.
+
+Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
+       operations in 3rd annulled delay slot.
+       (*lshrqi3_const_set): Disallow c constraint for operand0.
+       (modhi3+1, modhi3+2): Set attribute type to multi.
+       * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of 
+       != operator.
+
+Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gansidecl.h: Allow attribute unused on labels only when we are
+       version 2.93 or higher.  Not all versions of 2.92 have this feature.
+
+       * version.c: Bump minor number to 93.
+
+Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * config/m68k/m68k.h: Declare output_function_epilogue.
+       * recog.h: Declare next_insn_tests_no_inequality.
+
+Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * stmt.c (optimize_tail_recursion): New function, extracted from ...
+       (expand_return): Use optimize_tail_recursion.
+       * tree.h (optimize_tail_recursion): Declare.
+
+       * toplev.c (compile_file): Move call to output_func_start_profiler
+       to after the loop to emit deferred functions.
+
+Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * system.h (abort): Supply more detailed information on how to
+       report an Internal Compiler Error.
+
+Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
+
+       * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
+       allocate memory that will live beyond this function.
+       (expand_call): Free it here.
+
+Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for 
+       integer data not destined for fp regs.
+       (LEGITIMIZE_RELOAD_ADDRESS): New.
+
+Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
+                         Richard Henderson  <rth@cygnus.com>
+
+       Support for Hypersparc and Sparclite86x:
+       * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
+       (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
+       (ASM_CPU32_DEFAULT_SPEC): Likewise.
+       (TARGET_CPU_DEFAULT): Likewise.
+       (enum processor_type): Likewise.
+       (CPP_ENDIAN_SPEC): Handle little endian data.
+       (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
+       (ADJUST_COST): Call sparc_adjust_cost.
+       * sparc.c (sparc_override_options): Fix up for the new targets.
+       (supersparc_adjust_cost): Make static.
+       (hypersparc_adjust_cost): New.
+       (ultrasparc_adjust_cost): Make static.
+       (sparc_adjust_cost): New.
+       * sparc.md (attr cpu): Add hypersparc and sparclite86x.
+       (function_unit): Add hypersparc scheduling rules.
+
+       * configure.in (with_cpu handler): Recognize hypersparc.
+
+Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c: Added space after negation operator.
+       * config/c4x/c4x.h: Likewise.
+       * config/c4x/c4x.md: Likewise.
+
+Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
+
+Thu Jan  7 00:29:25 199  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+       * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
+       when a test can't be performed due to limited width of
+       HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
+       Fix UDIV case for cases where the first operand has the highest bit
+       set.
+
+Thu Jan  7 00:01:38 1999  Lutz Vieweg <lkv@mania.robin.de>
+
+       * pa.h (reg_class): Add FPUPPER_REGS.
+       (REG_CLASS_NAMES): Similarly.
+       (REG_CLASS_CONTENTS): Similarly
+       (REGNO_REG_CLASS): Handle FPUPPER_REGS.
+       (FP_REG_CLASS_P): Likewise.
+       (REG_CLASS_FROM_LETTER): Similarly.
+       (CLASS_MAX_NREGS): Similarly.
+
+1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
+
+       * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
+       for a typedef of bool.  Make sure to have a copy of the file is
+       in place before we look to fix it.  Fix typo in variable name to
+       FILE.
+
+Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
+       value_mode for the return mode.
+
+Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * configure.in: New flag --with-dwarf2.   If set, enables DWARF-2
+       debugging as default.
+
+       * config/tm-dwarf2.h: New file.
+
+Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * h8300.h (ASM_OUTPUT_LABELREF): Define.
+
+       * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
+       * local-alloc.c (update_equiv_regs): Corresponding changes.
+       * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
+
+       * calls.c (special_function_p): Push alloca test inside the large
+       conditional which excludes functions not at file scope or not
+       extern.  
+
+       * calls.c (special_function_p): New function broken out of
+       expand_call.
+       (precompute_register_parameters): Likewise.
+       (store_one_arg): Likewise.
+       (store_unaligned_argumetns_into_pseudos): Likewise.
+       (save_fixed_argument_area): Likewise.
+       (restore_fixed_argument_area): Likewise.
+       (expand_call): Corresponding changes.
+       
+Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
+       handling.
+       (const_sint32_operand): Likewise.
+
+Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
+       is a macro when deciding if we can use `jmp_buf' in prototypes.
+
+Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (addqi3): If the destination operand is
+       a hard register other than an extended precision register,
+       emit addqi3_noclobber.
+       (*addqi3_noclobber_reload): New pattern added so that reload
+       will recognise a store of a pseudo, equivalent to the sum
+       of the frame pointer and a constant, as an add insn.
+
+Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net.
+
+       * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
+       * configure: Rebuilt.
+       * i386/xm-go32.h: Define LIBSTDCXX.
+       * i386/x-go32: New.
+       * i386/go32.h (MD_EXEC_PREFIX): Define.
+       (FILE_NAME_ABSOLUTE_P): Define.
+       (LINK_COMMAND_SPEC): Define.
+
+Wed Jan  6 02:23:36 1999  "Charles M. Hannum" <root@ihack.net>
+
+       * expr.c (store_expr): If the lhs is a memory location pointed
+       to be a postincremented (or postdecremented) pointer, always
+       force the rhs to be evaluated into a pseudo.
+
 Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
 
        * real.c (mtherr): Print more reasonable warning messages.