OSDN Git Service

2000-10-06 David O'Brien <obrien@FreeBSD.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 3d71284..e4dc2ea 100644 (file)
@@ -1,3 +1,387 @@
+2000-10-06  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
+       #undef.
+
+2000-10-06  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (diddle_return_value): Examine
+       current_function_return_rtx instead of the DECL_RESULT.
+       (expand_function_end): Handle reloading DECL_RESULT from memory
+       into a hard register.  Query promote_mode for sign of mismatched
+       modes.
+
+2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+
+       * haifa-sched.c (schedule_insns): Fix typo in freeing
+       forward_dependency_cache.
+
+2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
+       `TARGET_SH2' as a condition.
+
+2000-10-06  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
+
+       * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
+       forward_dependency_cache): New variables.
+       (add_dependence, remove_dependence): Use anti_dependency_cache and
+       output_dependency_cache.
+       (compute_block_forward_dependences): Use forward_dependency_cache.
+       (schedule_insns): Allocate and free memory for anti/output/forward
+       dependencies caches.
+       
+2000-10-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
+       `! TARGET_SH1'.  Reindent.
+
+2000-10-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
+       Move functions from here ...
+
+       * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
+       ... to here.
+       (c_expand_builtin): New function.
+       (init_function_format_info): Don't set `check_function_format_ptr'.
+       (c_common_nodes_and_builtins): Set built_in_class type for
+       printf/__builtin_printf to BUILT_IN_FRONTEND.
+       (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
+
+       * c-common.h (build_function_call): Declare.
+
+       * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
+       to `lang_expand_expr' rather than `expand_builtin'.
+
+       * tree.c (check_function_format_ptr): Delete.
+
+       * tree.h (check_function_format_ptr): Likewise.
+
+2000-10-06  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
+       DW_OP_bregx when cfa->reg > 31.
+
+       * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
+       break.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * c-decl.c (warn_missing_noreturn): Remove.
+       (c_expand_body): Don't set or check can_reach_end.
+       * c-tree.h (warn_missing_noreturn): Move ...
+       * flags.h: ... here.
+       (can_reach_end): Remove.
+       * flow.c (check_function_return_warnings): New.
+       (make_edges): No edge to exit for noreturn sibcalls.
+       * function.c (expand_function_end): Save the return value
+       clobber instruction.
+       (mark_function_status): Mark it.
+       * function.h (struct function): Add x_clobber_return_insn.
+       * jump.c (can_reach_end): Remove.
+       (calculate_can_reach_end): Remove.
+       (jump_optimize_1): Don't call it.
+       * output.h (check_function_return_warnings): Declare.
+       * toplev.c (warn_missing_noreturn): Move from c-decl.c
+       (rest_of_compilation): Call check_function_return_warnings.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (NM_FOR_TARGET): New.
+       (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
+       (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
+       * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map.  Depend the
+       shared library build on that and EXTRA_MULTILIB_PARTS.
+       * mkmap-flat.awk: New file.
+       * mkmap-symver.awk: New file.
+       * libgcc-std.ver: New file.
+       * config/libgcc-glibc.ver: New file.
+       * config/ia64/libgcc-ia64.ver: New file.
+       * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       (SHLIB_LINK): Add --version-script.
+       * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
+       * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+       (SHLIB_LINK): Add -M.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (LIB2FUNCS): Add _clz.
+       * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
+       (__clz_tab): Put in its own unit, non-static.
+       * libgcc2.h: Always include longlong.h.
+
+       * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
+       a zero instead of -1.
+       (count_trailing_zeros): Likewise.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
+       when second op1 is const0_rtx.  Validate op0 as a register.
+       * config/alpha/alpha.md (setcc_internal): Don't allow constants
+       in the first argument of the compare.
+       (setcc_swapped_internal): Likewise.
+       (setne_internal): Likewise.
+
+2000-10-05  Geoff Keating  <geoffk@cygnus.com>
+
+       * tree.c (tree_size): New function split out of copy_node.
+       (make_node): Remove obstack handling.  Use tree_size.
+       (copy_node): Use tree_size.
+       * tree.h: Prototype tree_size.
+
+2000-10-05  Richard Henderson  <rth@cygnus.com>
+
+       * diagnostic.c (output_format): Add missing break.
+
+2000-10-05  Jim Wilson  <wilson@cygnus.com>
+
+       * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
+       SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
+       sequence insn to INSN, and delete last sequence insn.
+
+2000-10-05  Phil Edwards  <pme@gcc.gnu.org>
+
+       * gcc.c (main): Include generated configargs.h header
+       and use arguments in '-v' output.
+
+Thu Oct  5 16:16:57 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gcc.c: Move data on prefixes forward in file and reorganize.
+       (md_exec_prefix, md_startfile_prefix, md_startfile_prefix_1):
+       Always define, but make null if no value.
+       (static_specs): Add "md_exec_prefix", "md_startfile_prefix",
+       and "md_startfile_prefix_1".
+       (main): Check whether md_exec_prefix and the others are the
+       null string rather than whether the macro is defined.
+
+Thu Oct  5 19:04:18 2000  J"orn Rennecke <amylaar@redhat.co.uk>
+
+       * (convert_move): Use zero_extendpsisi2 to do an unsigned extension
+       from PSImode to SImode.
+
+2000-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * emit-rtl.c (gen_lowpart_common) [REAL_ARITHMETICS]: Fix conversion
+       from float to integral mode with HOST_BITS_PER_WIDE_INT 64.
+       * dwarf2out.c (add_const_value_attribute): Divide by 4, not
+       sizeof(long).
+
+Thu Oct  5 09:31:31 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
+       negation in proper type.a
+
+2000-10-04  Richard Henderson  <rth@cygnus.com>
+
+       * configure.in (enable-shared): New.
+       * Makefile.in (LIBGCC_DEPS): Depend on EXTRA_PARTS as well.
+       (libgcc.mk): Pass SHLIB_LINK, SHLIB_LIBS, SHLIB_MULTILIB to mklibgcc.
+       * mklibgcc.in: Use them to link shared a libgcc.
+       * config/t-linux (SHLIB_LINK, SHLIB_LIBS): New.
+       * config/alpha/t-ieee (SHLIB_MULTILIB): New.
+       * config/mips/t-iris6 (SHLIB_LINK, SHLIB_LIBS): New.
+       * config/sparc/t-sol2 (SHLIB_LINK, SHLIB_LIBS): New.
+
+       * configure.in (alpha-osf*): Use t-osf and x-osf.
+       * config/alpha/t-osf: New file.
+       * config/alpha/t-osf4: New file.
+       * config/alpha/x-osf: New file.
+       * config/alpha/x-alpha: Remove file.
+
+2000-10-04  Will Cohen  <wcohen@redhat.com>
+
+       * c-typeck.c (process_init_element): Added warning for zero-length
+       array.
+
+       * extend.texi (Zero Length): State that static initializers for
+       zero-length arrays are not allowed.
+
+Mon Oct  2 14:50:14 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * rtlanal.c (single_set_1): Do not require USE and CLOBBERs
+       to come last.
+
+2000-10-03  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/float-c4x.h: New.
+       * configure.in (c4x-*): Set float_format to c4x.
+       * configure: Regenerate.        
+
+2000-10-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
+       compilation for solaris versions 2.7 and greater.
+
+2000-10-02  David O'Brien  <obrien@dragon.nuxi.com>
+
+       * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.
+
+2000-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/ns32k/genix.h: Remove.
+       * config/ns32k/x-genix: Likewise.
+       * config/ns32k/xm-genix.h: Likewise.
+       * config/fx80: Remove all filee in directory.
+       * config/pyr: Likewise.
+       * config/tahoe: Likewise.
+       * config/gmicro: Likewise.
+       * config/spur: Likewise.
+       * configure.in: Remove configury bits for above targets.
+       * configure: Regenerated.
+       
+       * configure.in: Don't configure chill by default.
+       * configure: Regenerated.
+       
+       * c-decl.c (c_expand_body): Don't generate RTL if flag_syntax_only.
+       (lang_mark_false_label_stack): Remove.
+       * c-lex.c (init_c_lex): Add file_info_tree as GC root.  Allocate
+       <top level> string in GC area.
+       (mark_splay_tree_node): New function.
+       (mark_splay_tree): Likewise.
+       * except.c (mark_eh_status): Only call lang_mark_false_label_stack
+       if it exists.
+       * ggc-callbacks.c (lang_mark_false_label_stack): Remove.
+       * ggc-common.c (lang_mark_false_label_stack): Change type.
+       * ggc.h (ggc_alloc_string): Add comment.
+       (ggc_strdup): New function.
+       
+Sat Sep 23 19:10:20 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.h (BRANCH_COST): Define as 0.
+
+       * config/pdp11/pdp11.c: #include "tree.h" added.
+
+2000-09-30  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * config/avr/avr.c (ashlhi3_out, ashlsi3_out, ashrhi3_out,
+       ashrsi3_out, lshrhi3_out, lshrsi3_out): Optimize more cases
+       with known shift count.
+       * config/avr/avr.md (ashlsi3, ashrsi3, lshrsi3):
+       New alternative for shift count 2 with no scratch register.
+       (ashlhi3, ashlsi3): Change "cc" attribute from "clobber" to
+       "set_n" for shift counts 1 and 2.
+
+2000-09-30  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.md (movsi_to_cr): Remove the USE.  Calculate
+       the mask value from the individual SET operations.
+       (return_internal_si): Move the USE after the RETURN.
+       (return_internal_di): Likewise.
+       (return_and_restore_fpregs_si): Likewise.
+       (return_and_restore_fpregs_di): Likewise.
+       (return_eh_si): Likewise.
+       (return_eh_di): Likewise.
+       * config/rs6000/rs6000.c (mtcrf_operation): Don't look for,
+       or check, the USE.
+       (rs6000_emit_prologue): Don't emit the USE for movsi_to_cr.
+       Don't generate a PARALLEL around a single operation movsi_to_cr.
+       Generate the RETURN first in any PARALLELs.
+
+       * rtlanal.c (single_set_1): Use fatal_insn to display the
+       invalid insn.  Check for more cases when a USE or CLOBBER occurs
+       before a SET.
+       * Makefile.in: Update dependencies for rtlanal.o.
+
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * i386.c: Move include of "config.h" to before that of <setjmp.h>.
+
+2000-09-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-tree.texi, contrib.texi, gcc.texi, install.texi, invoke.texi:
+       Consistently use @email for formatting email addresses.
+
+2000-09-29  Richard Henderson  <rth@cygnus.com>
+
+       * cse.c (notreg_cost): New argument outer.
+       (COST): Pass in SET to notreg_cost
+       (COST_IN): New.
+       (fold_rtx): Use COST_IN.  Prefer constants when costs
+       are the same.
+
+2000-09-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * fixinc/inclhack.def (broken_cabs): Generalize regex.
+       * fixinc/fixincl.x: Regenerate.
+
+2000-09-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * loop.c (check_final_value): A GIV is not replaceable if used
+       before set.
+
+Fri Sep 29 10:04:12 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * version.c: Bump to gcc-2.97.
+
+Frs Sep 29 13:37:59 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * final.c (final_scan_insn): Remove extra extract_insn call;
+       Use caching for constrain_operands.
+       (cleanup_subreg_operands): Use caching for extract_insn.
+       * recog.c (constrain_operands_cached): New.
+       * recog.h (constrain_operands_cached): Declare.
+       * i386.c (ix86_attr_length_immediate_default,
+       ix86_attr_length_address_default, ix86_agi_dependant): Cache
+       extract_insn call.
+
+       * recog.c (asm_noperands): Tweak.
+       (extract_insn): Do not call asm_noperads for non-asm instructions.
+
+Fri Sep 29 13:20:42 MET DST 2000  Jan Hubicka  <jh@suse.cz>
+
+       * recog.c (recog_memoized): Rename to recog_memoized_1.
+       * recog.h (recog_memoized): Rename to recog_memoized_1.
+       (recog_memoized): New macro.
+       * rtl.h (single_set): Rename to single_set_1
+       (single_set): New macro.
+       * rtlanal.c (single_set): Rename to single_set_1;  expect clobbers
+       to be last.
+
+       * i386.md (strmovsi_1, strmovhi_1 strmovqi_1):
+       Do not use match_dup of input operands at outputs.
+       Use register_operand for memory expression.
+       (rep_movsi): Put use last, canonicalize.
+       Use register_operand for memory expression.
+       (rep_movqi): Put use last.
+       Use register_operand for memory expression.
+       (strsetsi_1, strset_hi_1, strsetqi_1): Do not use match_dup
+       of input operands at outputs.  Use register_operand for memory
+       expression.
+       (rep_stossi): Put use last; canonicalize; fix match_dup in
+       the address expression
+       (rep_stosqi): Likewise.
+       (memcmp expander): Update calls.
+       (cmpstrsi_nz_1, cmpstrsi_1, strlensi_1): Avoid match_dups in
+       the clobbers.
+
+       * i386.md (fp_jcc_3, fp_jcc_4, jp_fcc_5): if_then_else operand is
+       VOIDmode.
+       (fp_jcc_4, fp_jcc_3): Refuse unordered comparisons.
+
+2000-09-28  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/i386/freebsd-aout.h: New, FreeBSD a.out config file.
+       Contains the old contents of config/i386/freebsd.h
+       * config/i386/freebsd.h: Now the ELF rather than a.out config file.
+       Contains the old contents of config/i386/freebsd-elf.h
+       * config/i386/freebsd-elf.h: Retire this file -- contents moved to
+       config/i386/freebsd.h.
+       * configure.in: Adjust for above changes.
+       * po/POTFILES.in: Likewise.
+       * po/en_GB.po: Likewise.
+       * po/gcc.pot: Likewise.
+       * configure: Rebuilt.
+
+2000-09-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * doloop.c (doloop_modify): Prevent delete_insn() from
+       deleting too much.  Prefer loop->top over loop->start as
+       target for the new JUMP insn.
+       (doloop_valid_p): Ignore loop with exit_count != 0.
+
 2000-09-28  Philipp Thomas  <pthomas@suse.de>
 
        * invoke.texi (i386 Options): Add athlon to table of possible
@@ -956,17 +1340,6 @@ Mon 18-Sep-2000 19:21:35 BST  Neil Booth  <NeilB@earthling.net>
        * config/sh/sh.md (sym_label2reg, symPLT_label2reg): Protect
        LABEL_REFs with a PIC-safe unspec.
 
-2000-09-18  Will Cohen  <wcohen@redhat.com>
-
-       * extend.texi (Zero Length): State that static initializers for
-       zero-length arrays are not allowed.
-
-       * c-typeck.c (process_init_element): Flag initializers for zero
-       length arrays.
-
-       * tree.c (integer_all_onesp): Ignore TREE_INT_CST_HIGH if prec is
-       exactly HOST_BITS_PERWIDE_INT.
-
 2000-09-18  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * c-common.c (check_format_info): Properly save the argument