OSDN Git Service

* integrate.c (copy_rtx_and_substitute): Fix error last change:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8ea8d35..15d4560 100644 (file)
@@ -1,5 +1,300 @@
+2001-12-30  Richard Henderson  <rth@redhat.com>
+
+       * integrate.c (copy_rtx_and_substitute): Fix error last change:
+       we need to unconditionally create a new mem.
+
+2001-12-30  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.md ("*call_real"): Fix typo in comment.
+       * config/mmix/mmix.h (EXTRA_CONSTRAINT): Pass MMIX_REG_OK_STRICT
+       to mmix_extra_constraint.
+       * config/mmix/mmix.c (mmix_secondary_reload_class): Only handle
+       non-global register classes.  Mark now unused parameters as such.
+       (mmix_extra_constraint, 'U'): Use new parameter strict and call
+       calling memory_operand_p or strict_memory_address_p, not
+       address_operand.
+       * config/mmix/mmix-protos.h (mmix_extra_constraint): Add parameter.
+
+2001-12-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * unroll.c: Move include files above first use of `const'.
+
+2001-12-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgrtl.c (try_redirect_by_replacing_jump): Allow redirect_jump
+       to fail if target is EXIT_BLOCK_PTR, die otherwise.
+       (redirect_edge_and_branch): Likewise.
+       * cfgcleanup.c (try_forward_edge): Don't force jump redirecting
+       if target is EXIT_BLOCK_PTR.
+
+2001-12-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * gcc.c (init_gcc_spec): Do not link with static libgcc.a if
+       gcc invoked with -shared.
+
+2001-12-29  Graham Stott  <grahams@redhat.com>
+
+        * config/i386/i386.c (ix86_asm_dialect): Fix enum type.
+
+        (override_options): Delete abs macro unused. 
+
+        (output_pic_addr_const): Use ASM_ATT/ASM_INTEL enumerations
+        when testing ASSEMBLER_DIALECT.
+
+        (print_reg): Likewise.
+        (print_operand): Likewise.
+        (print_operand_address): Likewise.
+        (print_operand): abort if ASSEMBLER_DIALECT is unknown dialect.
+
+        * config/i386/i386.h (ix86_asm_dialect): Fix enum type.
+
+        (FIND_BASE_TERM): Fix typo.
+
+Sat Dec 29 15:48:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expr.c (store_field): Use adjust_address, not PUT_MODE.
+       (expand_expr, case VIEW_CONVERT_EXPR): Likewise.
+       * reload1.c (eliminate_regs, case SUBREG): Likewise, but use
+       adjust_address_nv.
+       * varasm.c (make_decl_rtl): Likewise.
+       * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
+       replace_equiv_address_nv.
+
+       * varasm.c (decode_addr_const, case INTEGER_CST): Call
+       output_constant_def instead of looking at TREE_CST_RTL.
+
+       * expr.c (convert_move): If -fforce-mem, force FROM to not be memory.
+
+       * stor-layout.c (layout_decl): Don't misalign field of variable size
+       for packed record.
+
+       * dwarf2out.c (compute_section_prefix): Avoid cast warning.
+       (gen_decl_die): Only check DECL_IGNORED_P on decls.
+       (dwarf2out_decl): Check for DECL_IGNORED_P only when needed.
+
+2001-12-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfglayout.c (insert_intra_before_1): New.
+       (insert_inter_bb_scope_notes): Emit sibling block notes which don't
+       span multiple basic blocks.
+
+2001-12-29  Richard Henderson  <rth@redhat.com>
+
+       * loop.c (prescan_loop): Set has_multiple_exit_targets for exception
+       edges.  Rearrange jump interpretation code to use pc_set.
+       (check_dbra_loop): Examine has_multiple_exit_targets not exit_count.
+
+       * sched-deps.c (sched_analyze_insn): Set scheduling barrier for
+       all insns that can throw, not just if flag_non_call_exceptions.
+
+2001-12-29  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Remove.
+       (default_constant_string_class_name): New global.
+       (objc_init): Set it.
+       (synth_module_prologue): Use it.
+
+       * objc/objc-act.c: Apply various cosmetic and formatting changes.
+
+2001-12-29  Kazu Hirata  <kazu@hxi.com>
+
+       * config/rs6000/darwin-tramp.asm: Fix comment formatting.
+       * config/rs6000/freebsd.h: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/sh/sh.h: Likewise.
+
+2001-12-28  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (build_module_descriptor): Make sure the init
+       function is not deferred.
+       (build_dispatch_table_initializer): Compute the method encoding if
+       not already done.
+
+2001-12-28  Kazu Hirata  <kazu@hxi.com>
+
+       * doc/md.texi: Add @findex define_insn_and_split.
+
+2001-12-28  Hans Bohem  <hans_boehm@hp.com>
+
+       * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New.
+       * config/ia64/unwind-ia64.c (uw_init_context_1): Redo sp, psp,
+       bsp setup.  Set pri_unat_loc to something reasonable.
+       (uw_install_context): Add missing cast.
+       (unw_access_gr): Fix off-by-1 indexing error.
+
+2001-12-28  Kazu Hirata  <kazu@hxi.com>
+
+       * except.c: Fix comment formatting.
+       * flags.h: Likewise.
+       * flow.c: Likewise.
+       * predict.c: Likewise.
+       * simplify-rtx.c: Likewise.
+       * system.h: Likewise.
+       * vmsdbg.h: Likewise.
+       * vmsdbgout.c: Likewise.
+
+2001-12-28  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md: Fix formatting.
+
+2001-12-28  Geoff Keating  <geoffk@redhat.com>
+
+       * varasm.c (record_constant_1): Correct parameter to recursive
+       call in default case.
+
+2001-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.h (ASM_PREFERRED_EH_DATA_FORMAT,
+       ASM_OUTPUT_DWARF_PCREL): Define.
+       * config/sparc/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+       * configure.in (HAVE_AS_SPARC_UA_PCREL): Check whether as supports
+       .uaword %r_disp32() and linker handles it correctly.
+       * configure, config.in: Rebuilt.
+
+2001-12-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-typeck.c (store_init_value): If initializing object with array
+       type of unknown size by a compound literal, set object's size from
+       compound literal size.
+       * doc/extend.texi (Compound Literals): Adjust documentation.
+
+2001-12-28  Richard Henderson  <rth@redhat.com>
+
+       * real.c (etoe113, toe113): Ifndef INTEL_EXTENDED_IEEE_FORMAT.
+       (endian): Clear word 3 for INTEL_EXTENDED_IEEE_FORMAT.
+       (etartdouble): Invoke etoe64 for INTEL_EXTENDED_IEEE_FORMAT.
+       * real.h (REAL_VALUE_TO_TARGET_LONG_DOUBLE): Don't special case
+       INTEL_EXTENDED_IEEE_FORMAT.
+
+2001-12-27  Geoff Keating  <geoffk@redhat.com>
+
+       * combine.c (try_combine): Mask off sign bits when combining
+       stores to the low and high parts of a two-word value.
+
+       * expr.c (expand_expr): Don't mark memory for non-constants as
+       constant.
+
+Thu Dec 27 20:39:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * integrate.c (copy_rtx_and_substitute, case MEM): If inlining
+       and not for LHS, clear RTX_UNCHANGING_P.
+
+2001-12-28  Philipp Thomas  <pthomas@suse.de>
+
+       * cppfiles.c (stack_include_file): Don't translate <stdin>.
+
+2001-12-27  Roger Sayle <roger@eyesopen.com>
+
+       * builtins.c (expand_builtin_memcmp): Optimize memcmp built-in
+       when all arguments are known constant.  Fixes PR opt/3508.
+
+2001-12-27  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (two anonymous patterns): Remove.
+
+2001-12-27  Richard Henderson  <rth@redhat.com>
+
+       * haifa-sched.c (reemit_other_notes): New.
+       (schedule_block): Use it.
+       * sched-ebb.c (schedule_ebbs): Call remove_unnecessary_notes.
+       * sched-rgn.c (schedule_insns): Likewise.
+       * cfglayout.c (remove_scope_notes): Handle removing note at
+       the end of the insn chain.
+       * function.c (debug_find_var_in_block_tree): New.
+
+2001-12-27  Alan Modra  <amodra@bigpond.net.au>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Simplify.
+
+2001-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * toplev.c (independent_decode_option): Re-add -aux-info option
+       handling.
+
+Thu Dec 27 09:50:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * integrate.c (copy_insn_notes): Don't adjust REG_EH_REGION note
+       if special value.
+
+2001-12-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * collect2.c (is_ctor_dtor): Const-ify.
+       * m88k-protos.h (output_file_start): Likewise.
+       * m88k.c (m88k_lang_independent_options, output_options,
+       output_file_start): Likewise.
+       * fix-header.c (files_to_ignore, std_include_entry, include_entry,
+       std_include_table, main): Likewise.
+       * protoize.c (longopts): Likewise.
+       * regclass.c (int_reg_class_contents): Likewise.
+       * toplev.c (dump_file, f_options, W_options): Make static.
+       (lang_independent_options, f_options, W_options): Const-ify.
+       * tree-dump.c (dump_file_info): Likewise.
+       * unroll.c (_factor): Make static.
+
+Wed Dec 26 17:55:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/alpha/alpha.c (alpha_align_insns): Remove warning.
+
+       * config/sparc/sparc.md (call struct patterns): Show starting
+       at two words long.
+
+2001-12-26  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.h (ASM_CPU_SPEC, CPP_CPU_SPEC): Add mcpu=405.
+       * sysv4.h (CPP_SYSV_SPEC, CPP_OS_VXWORKS_SPEC): Add mcpu=405.
+
+2001-12-26  DJ Delorie  <dj@redhat.com>
+
+       * function.c (expand_main_function): Make sure stack adjustments
+       happen before sjlj exception setup.
+
+2001-12-26  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.md (indirect_jump): Prefer CTR over LR.
+       * xcoff.h (ASM_DECLARE_FUNCTION_NAME): Handle weak function.
+
+Tue Dec 25 12:04:47 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * dwarf2out.c: Reformatting and minor code rearrangement.
+
+2001-12-24  Douglas B. Rupp (rupp@gnat.com)
+
+       * configure.in (quoted_stage_prefix_set_by_configure): Generate.
+       * configure: Regenerated.
+       * Makefile.in (SUBDIR_FLAGS_TO_PASS): Use
+       quoted_stage_prefix_set_by_configure.
+
+Mon Dec 24 10:24:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * rtl.h (in_expr_list_p): New declaration.
+       * rtlanal.c (in_expr_list_p): New function.
+       * cfgcleanup.c: Reformatting and minor code rearrangement.
+       * cfglayout.c, cfgloop.c, cfgrtl.c: Likewise.
+
+2001-12-23  Richard Henderson  <rth@redhat.com>
+
+       PR c/5163:
+       * c-decl.c (duplicate_decls): As needed, set DECL_INLINE when
+       we have a function body associated.  Minor cleanups.
+       (grokdeclarator): Do not set DECL_INLINE without a function body.
+
+2001-12-23  Richard Henderson  <rth@redhat.com>
+
+       * stmt.c (resolve_operand_names): Handle operand modifiers.
+
 2001-12-23  Richard Henderson  <rth@redhat.com>
 
+       * stmt.c (parse_input_constraint): Break out from ...
+       (expand_asm_operands): ... here.  Loop over the operands twice,
+       the first time only calling mark_addressable.  Correct and simplify
+       the conditions for spilling an output operand to memory.
+
+2001-12-23  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (call_operand) [OSF]: Disallow virtual regs.
+
        * config/alpha/alpha.md (UNSPEC_SIBCALL): New.
        (sibcall, sibcall_value, sibcall_osf_1_er, sibcall_osf_1): Use it.
        (sibcall_value_osf_1_er, sibcall_value_osf_1): Likewise.
 
 2001-12-22  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
+       * config/rs6000/rs6000.h (rs6000_builtins): Add vsldoi variants.
 
-        * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
+       * config/rs6000/rs6000.md ("altivec_vsldoi_*"): Same.
 
-        * config/rs6000/rs6000.c: Clean up some spacing and indentation.
-        (altivec_init_builtins): Add tree types for builtins with 4 bit
-        literals.
+       * config/rs6000/rs6000.c: Clean up some spacing and indentation.
+       (altivec_init_builtins): Add tree types for builtins with 4 bit
+       literals.
        (bdesc_3arg): Add vsldoi variants.
 
 2001-12-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
@@ -246,16 +541,16 @@ Fri Dec 21 17:30:15 2001  Jeffrey A Law  (law@redhat.com)
 2001-12-20  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * config/arm/arm.c (arm_compute_save_reg0_reg12_mask):  New
-        function. Compute which of registers r0 through r12 should be
+       function. Compute which of registers r0 through r12 should be
        saved onto the stack during a function's prologue.
-        (arm_compute_save_reg_mask): Use
-        arm_compute_save_reg0_reg12_mask.
-        (arm_compute_initial_elimination_offset): Use
-        arm_compute_save_reg0_reg12_mask.
+       (arm_compute_save_reg_mask): Use
+       arm_compute_save_reg0_reg12_mask.
+       (arm_compute_initial_elimination_offset): Use
+       arm_compute_save_reg0_reg12_mask.
 
-        (arm_expand_prologue): Do not mark as save of the IP register
-        for an interrupt handler as being part of the frame creation
-        code.
+       (arm_expand_prologue): Do not mark as save of the IP register
+       for an interrupt handler as being part of the frame creation
+       code.
 
 2001-12-20  Richard Henderson  <rth@redhat.com>
 
@@ -318,30 +613,30 @@ Thu Dec 20 16:58:46 CET 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-12-19  Aldy Hernandez  <aldyh@redhat.com>
 
-        * doc/install.texi: Add documentation for --enable-altivec.
+       * doc/install.texi: Add documentation for --enable-altivec.
 
-        * config.gcc: Add support for --enable-altivec.
+       * config.gcc: Add support for --enable-altivec.
 
-        * config/rs6000/altivec.h: New.
+       * config/rs6000/altivec.h: New.
 
-        * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
-        Define.  Fix typo.
+       * config/rs6000/linuxaltivec.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
+       Define.  Fix typo.
 
-        * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
+       * config/rs6000/rs6000.c (vrsave_operation): Change unspec to
        unspec_volatile.
-        (generate_set_vrsave): Generate the unspec here instead of calling
-        an .md pattern.
-        (generate_set_vrsave): Use gen_rtvec.
-        (rs6000_emit_prologue): Replace call to gen_get_vrsave with
-        gen_rtx_SET.
+       (generate_set_vrsave): Generate the unspec here instead of calling
+       an .md pattern.
+       (generate_set_vrsave): Use gen_rtvec.
+       (rs6000_emit_prologue): Replace call to gen_get_vrsave with
+       gen_rtx_SET.
 
-        * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
+       * config/rs6000/rs6000.md ("*movsi_internal1"): Add constraints
        for setting special registers.
-        ("*set_vrsave_internal"): Use unspec_volatile.
-        ("set_vrsave"): Remove.
-        ("get_vrsave"): Remove.
+       ("*set_vrsave_internal"): Use unspec_volatile.
+       ("set_vrsave"): Remove.
+       ("get_vrsave"): Remove.
 
-        * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
+       * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add vrsave to
        SPECIAL_REGS.
 
 2001-12-19  Bruce Korb  <bkorb@gnu.org>