OSDN Git Service

* combine.c (record_dead_and_set_regs): Use
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2a1e4df..e013d73 100644 (file)
@@ -1,3 +1,230 @@
+2001-12-14  Zack Weinberg  <zack@codesourcery.com>
+
+       * combine.c (record_dead_and_set_regs): Use
+       regs_invalidated_by_call.  Don't note stores for CALL_INSNs.
+
+2001-12-14  Roger Sayle <roger@eyesopen.com>
+
+       * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and
+       __builtin_fsqrt to __builtin_sqrt.
+
+       * builtins.c (expand_builtin_mathfn,expand_builtin): Same.
+       * doc/extend.texi: Simplify documentation to match patch.
+
+Fri Dec 14 21:23:54 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * config.gcc: Revamp target_cpu_default2 to strings;
+       support new x86 variants.
+       * i386.c (override_options): Default x86_cpu_string and x86_arch_string
+       properly; set prefetch_sse.
+       * i386.h (x86_prefetch_sse): Declare.
+       (TARGET_PREFETCH_SSE): New.
+       (CPP_CPU_DEFAULT_SPEC): Define according to the new macros.
+       (TARGET_CPU_DEFAULT_*): New.
+
+Thu Dec 13 21:57:13 CET 2001  Janis Johnson <janis187@us.ibm.com>
+                             Jan Hubicka  <jh@suse.cz>
+
+       * config/i386/i386.h (struct processor_costs): Add new members
+         prefetch_block and simultaneous_prefetches.
+         (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): New.
+       * config/i386/i386.c (processor_costs structs): Add values for
+         prefetch_block and simultaneous_prefetches.
+       * config/i386/i386.md (unspec values): Remove values for prefetch
+         operations, which now use the PREFETCH rtx code.
+         (prefetch_sse, prefetch_3dnow, prefetchw): Combine to use new
+         unified prefetch support.
+
+2001-12-14  Jason Merrill  <jason@redhat.com>
+
+       * diagnostic.c (sorry): Increment sorrycount before saving the
+       buffer state.
+
+Fri Dec 14 19:53:23 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (sqrt?f): Fix conditionals.
+
+Fri Dec 14 07:29:52 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config.gcc (alpha64-dec-*vms*): New case.
+       * config/alpha/t-vms64, config/alpha/vms-crt0-64.c: New files.
+       * config/alpha/vms-psxcrt0-64.c, config/alpha/vms64.h: Likewise.
+       * config/alpha/xm-vms64.h: Likewise.
+
+       * config/alpha/alpha.c (vms_attribute_table): Add new attributes.
+       (alpha_write_linkage): Test for null alpha_links.
+       (SECTION_VMS_GLOBAL, SECTION_VMS_INITIALIZE): New section attributes.
+       (vms_section_type_flags, vms_asm_named_section): Handle them.
+
+Fri Dec 14 12:05:14 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_fpmath, ix86_fpmath_string): New.
+       (override_option): Set ix86_fpmath.
+       * i386.h (MASK_MIX_SSE_I387): Remove.
+       (TARGET_SSE_MATH): New.
+       (TARGET_MIX_SSE_I387): Use ix86_fpmath.
+       (TARGET_SWITCHES): Remove "mix-sse-i387".
+       (fpmath_unit): New enum.
+       (ix86_fpmath, ix86_fpmath_string): Declare.
+       * i386.md (swapsf): Fix condition.
+       (add?f, sub?f, mul?f, div?f, sqrt?f, min?f): Use TARGET_SSE_MATH.
+       (fp_?f_*_nosse): New.
+       (fp_*): Use TARGET_SSE_MATH.
+       * invoke.texi (-mfpmath): Document.
+       (-msse2): Add.
+
+2001-12-14  Jason Merrill  <jason@redhat.com>
+
+       * dwarf2out.c (output_die): Print the string in the comment for
+       a DW_FORM_strp.
+
+2001-12-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * netbsd.h (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Remove redundant semicolon.
+       * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Use @code where appropriate.
+
+2001-12-13  Richard Henderson  <rth@redhat.com>
+
+       * regrename.c (kill_value_regno): Simplify chain removal.
+       (kill_value): Kill all of HARD_REGNO_NREGS.
+       (kill_set_value): Use kill_value not kill_value_regno.
+       (kill_autoinc_value): Likewise.
+       (copyprop_hardreg_forward): Don't collect refresh_blocks.
+       Call delete_noop_moves.
+
+2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * attribs.c (c_common_attribute_table): Swap decl_req and type_req
+       for the mode attribute.
+       (handle_mode_attribute): Handle types, not decls.
+
+2001-12-13  Jason Merrill  <jason@redhat.com>
+
+       * c-common.h (COMPOUND_STMT_BODY_BLOCK): New macro.
+
+2001-12-13  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.md (eh_set_lr_di): Change scratch
+        constraint to base register.
+        (eh_set_lr_si): Same.
+
+2001-12-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * expr.c (expand_expr, case ADDR_EXPR): Don't honor
+       flag_force_addr for modifier != EXPAND_CONST_ADDRESS,
+       modifier != EXPAND_INITIALIZER and modifier != EXPAND_SUM.
+
+Thu Dec 13 20:30:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (copy_blkmode_from_reg): Add missing braces to eliminate
+       warning and reformat comments.
+       (expand_assignment): Don't pass EXPAND_WRITE if LHS is component.
+       (highest_pow2_factor, case INTEGER_CST): Return BIGGEST_ALIGNMENT
+       if overflow.
+
+2001-12-12  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Add
+       SUBSUBTARGET_OVERRIDE_OPTIONS.
+
+       * config/rs6000/eabialtivec.h: New file.
+
+       * config/rs6000/linuxaltivec.h: New file.
+
+       * config.gcc: Add powerpc-*-eabialtivec and
+       powerpc-*-linux-gnualtivec.
+
+2001-12-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * toplev.c (process_options, parse_options_and_default_flags):
+       Set flag_no_inline before the post_options hook.
+
+2001-12-13  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (adjust_address_1): Don't adjust address if adjust
+       is false.
+
+2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * collect2.c (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Define default values.
+       (write_c_file_stat): Use them to call construtor and destructor
+       functions in shared libraries.
+       * doc/tm.texi (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Document them.
+       * config/netbsd.h (COLLECT_SHARED_INIT_FUNC)
+       (COLLECT_SHARD_FINI_FUNC): Define.
+
+       * config/netbsd.h (LINK_SPEC): Don't pull in estart if creating a
+       shared library.  Pass -shared through to the linker.
+       * config/arm/netbsd.h (LINK_SPEC): Likewise.
+
+       * config/arm/t-netbsd (TARGET_LIBGCC2_CFLAGS): Add -fpic.
+       (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME, SHLIB_OBJS, SHLIB_LINK)
+       (SHLIB_INSTALL): Define.
+
+2001-12-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (legitimize_pic_address): Handle LABEL_REFs in substantially
+       the same way as we handle SYMBOL_REFS.
+
+Thu Dec 13 07:47:24 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * loop.c (remove_constant_addition): Fix prototype and whitespace.
+       (emit_prefetch_instructions): Remove warnings and whitespace
+       changes.
+
+Thu Dec 13 06:48:38 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config/alpha/vms-cc.c (preprocess_args): Fix forward
+       declaration.
+
+Thu Dec 13 12:31:07 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (estimate_probability): Reorganize opcode heuristics.
+       * predict.def (PRED_OPCODE_POSITIVE, PRED_OPCODE_NONEQUAL,
+       PRED_FPOPCODE): New.
+
+       * i386.c (override_options): Recognize various CPU variants and set
+       SSE/MMX/3dNOW flags accordingly.
+       * i386.h (MASK_MMX_SET, MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET,
+       MASK_3DNOW_A_SET): New.
+       (MASK_ACCUMULATE_OUTGOING_ARGS_SET): New.
+       (MASK_NO_ACCUMULATE_OUTGOING_ARGS): Delete.
+       (MASK_*): Renumber.
+       (TARGET_FLAGS): Use new masks.
+       (CPP_CPU_SPECS): Recognize new CPU variants.
+       * invoke.texi (-mcpu): Update documentation.
+
+       * flags.h (flag_prefetch_loop_arrays): Declare.
+       * loop.h (LOOP_PREFETCH): Define new constant.
+       * loop.c (strength_reduce): Call emit_prefetch_instructions.
+       (MAX_PREFETCHES, PREFETCH_BLOCKS_BEFORE_LOOP_MAX,
+       PREFETCH_BLOCKS_BEFORE_LOOP_MIN, PREFETCH_BLOCKS_IN_LOOP_MIN): New
+       constants.
+       (check_store_data): New structure.
+       (check_store, emit_prefetch_instructions, rtx_equal_for_prefetch_p):
+       New functions.
+       * toplev.c: Include insn-flags.h.
+       (flag_prefetch_loop_arrays): New global variable.
+       (lang_independent_option): Add -fprefetch-loop-arrays.
+       (rest_of_compilation) Pass LOOP_PREFETCH when flag_prefetch_loop_arrays
+        is set.
+       * Makefile.in (toplev.c): Depend on insn-flags.h.
+       * invoke.texi (-fprefetch-loop-arrays): Document.
+
+       * predict.c (estimate_probability): Distribute the loop exit
+       probability according to number of exit edges.
+
+       * cfgcleanup.c (insns_match_p): Break out from ...;
+       (flow_find_cross_jump): ... here;
+       (outgoing_edges_match): Add parameter MODE; attempt to match everything
+       except for tablejumps.
+       (try_crossjump_to_edge): Accept complex edges.
+       (try_crossjump_bb): Likewise.
+
 2001-11-29  Corey Minyard <minyard@acm.org>
 
        * recog.c (validate_replace_rtx_1): Use simplify_gen_binary