OSDN Git Service

* h8300.md: Remove obsolete peepholes.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4427590..524ee83 100644 (file)
@@ -1,5 +1,452 @@
+2000-08-13  Ralf Gütlein <ralf.guetlein@aranea.de>
+
+       * h8300.md: Remove obsolete peepholes.
+
+2000-08-13  Kazu Hirata  <kazu@hxi.com>
+
+       * invoke.texi (H8/300 Options): Fix typos.
+       * config/h8300.c: Fix formatting.
+       * config/h8300.h: Fix comment typos.
+       (OVERRIDE_OPTIONS): Fix formatting.
+
+       * function.c: Fix formatting.
+
+       * cse.c: Fix formatting.
+
+2000-08-13  Geoff Keating  <geoffk@cygnus.com>
+
+       * flow.c (attempt_auto_inc): Remove unused variable `bb'.
+       (attempt_auto_inc): Suppress parentheses warning.
+       * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
+       * loop.c (load_mems): Remove `u' suffix in two places.
+       * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
+       hex constants.
+       * config/rs6000/rs6000.h: Likewise.
+       * config/rs6000/sol-c0.c: Prototype some functions.  Remove the
+       __eabi dummy routine.
+       * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
+       variable `buf_ptr'.
+
+       * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
+       not put stuff in .sdata unnecessarily.
+       (rs6000_unique_section): New function.
+       * config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
+       * config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
+
+       * c-typeck.c (build_array_ref): Don't complain about non-lvalue
+       arrays in C99.  Don't try to look at DECL_REGISTER of a
+       COMPONENT_REF.  Don't complain twice about the same error.
+
+       * fixinc/inclhack.def (aix_pthread): New fix.
+       (aix_sysmachine): New fix.
+       * fixinc/fixincl.x: Regenerate.
+
+       * expr.c (expand_expr): Call convert_modes when turning a large
+       multiply into a small one.
+
+2000-08-12  Geoff Keating  <geoffk@cygnus.com>
+
+       * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
+       the tree structure an exponent rather than an explicit alignment
+       so it doesn't overflow.
+       (SET_DECL_OFFSET_ALIGN): New macro.
+       * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
+       rather than DECL_OFFSET_ALIGN.
+       (place_field): Likewise.
+       * expmed.c (store_bit_field): Abort on align==0 to avoid
+       antisocial machine behaviour.
+
+2000-08-12  Richard Henderson  <rth@cygnus.com>
+
+       * sibcall.c (uses_addressof): Accept both addressof and
+       current_function_internal_arg_pointer inside a mem.
+       (optimize_sibling_and_tail_recursive_call): Fail tail recursion
+       if current_function_uses_addressof.
+       * stmt.c (expand_return): Kill tail recursion and HAVE_return
+       optimizations.
+
+2000-08-11  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.md (addsi3): Remove expander.
+       (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
+       (*addsi3_shladd): New.
+
+2000-08-11  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
+       (do_restore): Likewise.
+       (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
+       (ia64_expand_prologue, ia64_expand_epilogue): Use them.
+       (rtx_needs_barrier): Track actual bit manipulation for 
+       ar.unat moves, gr_spill, and gr_restore.
+       (emit_insn_group_barriers): Special case gr_spill/gr_restore.
+       (process_set): Don't handle varargs spills.
+       * config/ia64/ia64.md (gr_spill): Accept cfa offset.  Emit
+       .mem.offset here instead of in process_set.
+       (gr_restore): Likewise.
+
+2000-08-11  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
+
+2000-08-11  Mark Elbrecht  <snowball3@bigfoot.com>
+       * gcc.texi (The Configuration File): Document
+       COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
+       UPDATE_PATH_HOST_CANONICALIZATION.
+
+2000-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
+       unprototyped function pointer casts on integer constants.
+
+2000-08-11 Laurynas Biveinis <lauras@softhome.net>
+
+       * fixproto: Recognize DOS paths with drive letters as absolute paths.
+
+2000-08-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * extend.texi (Volatiles): Fix typos.
+
+2000-08-11  Kazu Hirata  <kazu@hxi.com>
+
+       * flow.c: Fix formatting.
+
+2000-08-11  Richard Henderson  <rth@cygnus.com>
+
+       * reload.c (push_secondary_reload): When invoking a reload_{in,out}
+       pattern, always allocate a tertiary scratch register.
+
+       * config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
+       (reload_inhi): Likewise.
+
+2000-08-11  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (put_reg_into_stack): Allow type to be NULL.
+       (schedule_fixup_var_refs): Likewise.
+       (gen_mem_addressof): Allow decl to be NULL.
+       (put_addressof_into_stack): Likewise.
+
+       * flow.c (merge_blocks_nomove): Be more careful about
+       locating the beginning of block A.
+
+       * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
+
+Thu Aug 10 22:47:09 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+       * configure.in:
+       * configure:
+       * gthr-posix.h:
+       * config.in: Reverted the check for <sched.h>.
+
+2000-08-10  Chris Demetriou  <cgd@sibyte.com>
+
+       * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
+       macros define the name of CTOR and DTOR sections.
+       (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+       DTOR_LIST_END): Change to use attributes to specify
+       sections.
+       * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
+       (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+       DTOR_LIST_END): Same as in mips/elf.h.
+
+2000-08-10  Drew Moseley  <dmoseley@redhat.com>
+
+       * config/mn10300/mn10300.h: Added no-crt0 option for explicitly
+       disabling just crt0.o.
+
+2000-08-10  Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton  <nickc@cygnus.com>
+
+       * arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
+       (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
+       (EXTRA_SPECS): Add them.
+       * arm/lib1funcs.asm: Support builds for interworking.
+       Use macros to eliminate duplicated pieces of code.
+
+2000-08-10  Kazu Hirata  <kazu@hxi.com>
+
+        * h8300.c (expand_a_rotate): New.
+        (emit_a_rotate): Likewise.
+        (h8300_adjust_insn_length): Add support for the rotate insns.
+        * h8300.md (rotlqi3): New.
+        (*rotlqi3_1): Likewise.
+        (rotlhi3): Likewise.
+        (*rotlhi3_1): Likewise.
+        (rotlhi3): Likewise.
+        (*rotlhi3_1): Likewise.
+        * h8300-proto.h: Add prototypes for expand_a_rotate and
+        emit_a_rotate.
+
+       * h8300.c: Fix comment typos.
+       (dosize): Declare the variable amount as unsigned.
+       (get_shift_alg): Fix a comparison between signed and unsigned.
+       (emit_a_shift): Likewise.
+       (h8300_adjust_insn_length): Simplify the code.
+
+       * c-decl.c: Fix formatting.
+
+2000-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-lex.c (parse_float, yylex): For -Wtraditional, issue a
+       warning about non-traditional numeric constant suffixes.
+
+       * cppexp.c (parse_number): Likewise.
+
+       * invoke.texi: (-Wtraditional): Document new behavior.
+
+Thu Aug 10 00:11:04 2000  Ovidiu Predescu  <ovidiu@cup.hp.com>
+
+       * gthr-posix.h: Include auto-host.h. Conditionally include
+       <sched.h>.
+       * configure.in: Check for the <sched.h> header file.
+       * config.in: Added define for HAVE_SCHED_H.
+
+2000-08-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-typeck.c (process_init_element): For -Wtraditional, warn about
+       initialization of unions.
+
+       * invoke.texi (-Wtraditional): Document new behavior.
+
+2000-08-09  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * configure.in (--enable-c-cpplib): Uncomment.  Use AC_DEFINE
+       instead of extra_c_flags.
+       (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+       * cpperror.c (cpp_type2name): New function.
+       * cpplex.c (lex_line): If we issued an error for an invalid
+       preprocessing directive, discard that logical line.
+       * cpplib.c (do_line): Call a hook function if the current file
+       is renamed by #line.
+       (do_ident): Pass the contents of the string, not the entire
+       token, to the callback function.
+       * cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
+       (cb.rename_file): New hook function.
+       (cb.ident): Adjust prototype.
+       (cpp_type2name): Prototype.
+       * cppmacro.c (dump_macro_args): Correct precedence lossage.
+
+       * cppmain.c (cb_ident): Update for changed interface.
+       (cb_rename_file): New function.
+       (main): Set rename callback.
+
+2000-08-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * caller-save.c (mark_referenced_regs): Mark partially-overwritten
+       multi-word registers.
+
+2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (combine_strings, check_format_info): Refer to ISO C
+       or ISO C89 instead of ANSI C.
+       * c-decl.c (grokdeclarator, xref_tag, finish_struct,
+       build_enumerator, do_case): Likewise.
+       * c-lex.c (parse_float, yylex): Likewise.
+       * c-parse.in: Likewise.
+       * c-typeck.c (common_type, build_array_ref, build_binary_op,
+       build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
+       build_c_cast, convert_for_assignment, set_init_index,
+       set_init_label, c_expand_start_case): Likewise.
+       * toplev.c (documented_lang_options, display_help): Likewise.
+
+2000-08-08  Kazu Hirata  <kazu@hxi.com>
+
+       * h8300.c: Fix formatting.
+       * h8300.h: Likewise.
+       * h8300.md: Likewise.
+       (movsi_h8300hs): Fix formatting of the resulting assembly code.
+
+       * reload1.c: Fix formatting.
+
+2000-08-08  Rodney Brown  <RodneyBrown@mynd.com>
+
+       * alpha/alpha.c (alpha_emit_xfloating_libcall):
+       Use GEN_CALL_VALUE define.
+       * alpha/alpha.md (untyped_call): Use GEN_CALL define.
+       * clipper/clipper.md (untyped_call): Likewise.
+       * dsp16xx/dsp16xx.md (untyped_call): Likewise.
+       * fx80/fx80.md (untyped_call): Likewise.
+       * mips/mips.md (untyped_call): Likewise.
+       * ns32k/ns32k.md (untyped_call): Likewise.
+       * pa/pa.md (untyped_call): Likewise.
+       * romp/romp.md (untyped_call): Likewise.
+       * sparc/sparc.md (untyped_call): Likewise.
+
+2000-08-08  Jason Eckhardt  <jle@cygnus.com>
+
+       * config/i860/i860.c (singlemove_string): Do not generate assembler
+       pseudo instructions that must be expanded (that is, with signed
+       constants larger than 16 bits).
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
+       PROP_AUTOINC at -O0.  Don't collect alias info at -O0.
+       (init_propagate_block_info): Don't kill memory stores at -O0.
+       (mark_set_1, mark_used_regs): Likewise.
+
+2000-08-08  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (optimization_options): Decorate 'level' as
+       ATTRIBUTE_UNUSED. 
+       (mask64_operand): Remove sign-extend thinko.
+       (rldic_operand): New function.
+       (load_multiple_operation): regno's are unsigned ints.
+       (store_multiple_operation): Likewise.
+       (lmw_operation): Likewise.
+       (stmw_operation): Likewise.
+       (includes_lshift_p): shift_mask is unsigned int.
+       (includes_lshift64_p): New function.
+       (addrs_ok_for_quad_peep): unsigned int reg1.
+       (print_operand): Consistently add "else" after
+       output_operand_lossage().
+       (print_operand, case 'b'): Fold in case 'W'.
+       (print_operand, case 'W'): Print rldic MB value.
+       (output_epilogue): Update Objective-C language string.
+       (output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
+       * rs6000.h (PREDICATE_CODES): Add rldic_operand.
+       * rs6000.md (ashldi3): Add rldic instruction.
+       (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
+       (cmpsi_internal2, cmpdi_interal2): Use 'b' output template
+       modifier.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * config/ia64/ia64-protos.h: Remove duplicates.  Update
+       for massive code rearrangements.
+       * config/ia64/ia64.c (ia64_arpfs_regno): Remove.
+       (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
+       (ia64_local_regs, ia64_need_regstk): Remove.
+       (ar_ccv_reg_operand): New.
+       (ia64_gp_save_reg): New.
+       (struct ia64_frame_info): Combine most of the size elements;
+       add new gr save elements.
+       (find_gr_spill): New.
+       (next_scratch_gr_reg): New.
+       (mark_reg_gr_used_mask): New.
+       (ia64_compute_frame_size): Rewrite.  Allocate special AR regs
+       to GR backing store regs when possible.
+       (ia64_initial_elimination_offset): New.
+       (ia64_rap_fp_offset): Remove.
+       (save_restore_insns): Remove.
+       (setup_spill_pointers): New.
+       (finish_spill_pointers): New.
+       (spill_restore_mem): New.
+       (do_spill, do_restore): New.
+       (ia64_expand_prologue): Rewrite to use them.
+       (ia64_expand_epilogue): Likewise.
+       (ia64_direct_return): Update for current_frame_info changes.
+       (ia64_function_prologue): Simplify .prologue emission.  Emit
+       .spill when needed.
+       (ia64_setup_incoming_varargs): Don't ever emit rtl.
+       (ia64_dbx_register_number): New.
+       (ia64_initialize_trampoline): New.
+       (ia64_secondary_reload_class): Request GR_REGS for integer
+       arithmetic destined for FR_REGS.
+       (ia64_init_machine_status): Don't reset return_address_pointer_rtx.
+       (ia64_mark_machine_status): Mark ia64_gp_save.
+       (rws_access_regno): Rename from rws_access_reg; don't treat
+       predicates specially.
+       (rws_access_reg): New.  Update all callers.
+       (rtx_needs_barrier): Remove dead unspecs.
+       (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
+       (ia64_encode_section_info): Silence signed/unsigned warnings.
+       (spill_offset, sp_offset, spill_offset_emitted): Remove.
+       (tmp_reg, tmp_saved): Remove.
+       (process_set): Rewrite to expect complicated bits via 
+       REG_FRAME_RELATED_EXPR.
+       (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
+       in the use of ar.ccv; never set RTX_UNCHANGING_P.
+       (ia64_expand_op_and_fetch): Likewise.
+       (ia64_expand_compare_and_swap): Likewise.
+       (ia64_expand_builtin): Likewise.
+       * config/ia64/ia64.h (AR_UNAT_REGNUM): New.
+       (FIRST_PSEUDO_REGISTER): Update.
+       (AR_M_REGNO_P): Update.
+       (FIXED_REGS): Don't mark three local registers as used.
+       (EXTRA_CC_MODES): New.
+       (SELECT_CC_MODE): New.
+       (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
+       (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
+       (FRAME_GROWS_DOWNWARD): Unset.
+       (STARTING_FRAME_OFFSET): Zero.
+       (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
+       (INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
+       (HARD_FRAME_POINTER_REGNUM): New.
+       (CAN_DEBUG_WITHOUT_FP): Define.
+       (TRAMPOLINE_TEMPLATE): Remove.
+       (TRAMPOLINE_SIZE): Lower to 32.
+       (TRAMPOLINE_ALIGNMENT): Lower to 64.
+       (INITIALIZE_TRAMPOLINE): Defer to out of line function.
+       (PREDICATE_CODES): Update.
+       (struct machine_function): Add ia64_gp_save.
+       * config/ia64/ia64.md: Purge unused unspecs.
+       (movsi patterns): Allow moves to/from AR_M_REGS.
+       (movdi patterns): Allow moves to/from p0.
+       (call patterns): Move most setjmp hackery to ia64_gp_save_reg.
+       (gr_spill, gr_restore): Indicate ar.unat read/written.
+       (nonlocal_goto): Don't pass old frame_pointer.
+       (nonlocal_goto_receiver): Remove.
+       (exception_receiver): New.
+       (builtin_setjmp_setup): New.
+       (builtin_setjmp_receiver): New.
+       * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
+       (__ia64_nonlocal_goto): Bundle.  Don't kill r7.
+       (__ia64_restore_stack_nonlocal): Likewise.
+       (__ia64_trampoline): New.
+       * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
+       function.
+       * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * frame.h (ia64_frame_state): Add my_psp.
+       * libgcc2.c (ia64_throw_helper): Add throw_sp argument.
+       (__throw): Pass it in.  Don't clobber r7.
+       * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
+       (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
+       and nothing to do with sp.
+       (normalize_reg_loc): Use frame->my_psp.
+       (frame_translate): Handle frame-pointer-less functions.  Set
+       spill_base correctly, in absence of being told.
+       (__build_ia64_frame_state): New sp argument.  Fill in frame->my_sp.
+       (__ia64_backtrace_helper): New sp argument.  Use
+       builtin_return_address instead of label addresses.
+       (print_record) [mem_stack_v]: No size member.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
+
+2000-08-08  Richard Henderson  <rth@cygnus.com>
+
+       * tm.texi (LOCAL_REGNO): Document.
+       * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
+       (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
+       * reload1.c (reload): Likewise when considering nonlocal labels.
+
+       * config/ia64/ia64.h (LOCAL_REGNO): New.
+       * config/sparc/sparc.h (LOCAL_REGNO): New.
+
+2000-08-08  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
+
+2000-08-07  Nick Clifton  <nickc@redhat.com>
+
+       * config/mips/mips.c: Fix compile time warning messages.
+       * config/mips/mips-protos.h: Add prototype for equality_op.
+
+       * mn10300.h (TARGET_SWITCHES): Document `-mam33'.
+
 2000-08-07  Graham Stott  <grahams@cygnus.co.uk>
 
+       * mn10300.md: Use nonimmediate_operand instead of general_operand
+       on output operands.
+       
        * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
 
 2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
@@ -695,7 +1142,7 @@ Wed Aug  2 15:59:34 MET DST 2000  Jan Hubicka  <jh@suse.cz>
        (f_options): Added dce entry.
        * invoke.texi: Document -fdce.  Emphasize experimental status of
        -fssa.
-       * dce: New file.
+       * dce.c: New file.
 
 2000-08-01  Zack Weinberg  <zack@wolery.cumb.org>