re PR rtl-optimization/17825 (ICE in reg_bitfield_target_p)
[gcc.git] / gcc / ChangeLog
index 411a636c586428fe05051a9974020fad56767d41..c1fe9b7dd0002ba579e32948c9b6600d3a9af9fe 100644 (file)
@@ -1,3 +1,124 @@
+2004-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/17825
+       * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
+       or not.
+
+2004-11-27  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/12769
+       * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
+       from rs6000_default_long_calls for libcalls.
+
+2004-11-26  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * expmed.c (extract_bit_field): When extracting from non-integer mode,
+       force a SUBREG into a register because we may be taking a further
+       SUBREG of it.
+
+2004-11-27  Di-an Jan  <dianj@freeshell.org>
+
+       * doc/contrib.texi (Tim Josling): Remove nesting quotation marks.
+
+2004-11-26  Robert Millan  <robertmh@gnu.org>
+
+       Changes for k*bsd-gnu support.
+       * config/i386/linux.h: Define REG_NAME to allow overriding of
+       register names in sc structure.
+       * config/i386/linux-unwind.h: Refer to sc->REG_NAME(reg) instead
+       of sc->reg.
+       * config.gcc: Detect x86_64-k*bsd-gnu systems.
+
+2004-11-26  Jeff Law  <law@redhat.com>
+
+       * tree-ssa.c (verify_flow_sensitive_alias_info): Don't
+       retrieve annotations or pointer info before it's necessary.
+       Reorder tests for early continue of the loop.  Manually CSE
+       SSA_NAME_VAR.
+
+2004-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * target.h (struct gcc_target): New field 'dwarf_handle_frame_unspec'.
+       * target_def.h (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to 0.
+       (TARGET_INITIALIZER): Add TARGET_DWARF_HANDLE_FRAME_UNSPEC.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Allow REG->REG move
+       to a fixed reg if the source is the Return Address register.
+       Implement new Rule 15.
+       * doc/tm.texi (Frame Layout): Document TARGET_DWARF_HANDLE_FRAME_UNSPEC.
+       * config/sparc/sparc.c (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define to
+       sparc_dwarf_handle_frame_unspec.
+       (gen_save_register_window): New function.
+       (emit_stack_pointer_increment): Rename into gen_stack_pointer_inc.
+       (emit_stack_pointer_decrement): Rename into gen_stack_pointer_dec.
+       (expand_prologue): Adjust calls to emit_stack_pointer_{in,de}crement.
+       Set RTX_FRAME_RELATED_P on the appropriate insns and members of insns.
+       (sparc_asm_function_prologue): Do not emit call frame debugging info.
+       (emit_and_preserve): Adjust calls to emit_stack_pointer_{in,de}crement.
+       (sparc_expand_epilogue): Likewise.
+       (sparc_dwarf_handle_frame_unspec): New function.
+       * config/sparc/sparc.md (save_register_window): Remove.
+       (save_register_windowdi): Rewrite modelled on the callframe debug info.
+       (save_register_windowsi): Likewise.
+
+2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv-protos.h: Guard ifcvt functions declarations with
+       BB_HEAD, not BLOCK_HEAD.
+
+2004-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv.c (frv_ifcvt_modify_insn): Don't leave alone
+       scratch insns that set a register live at the join point.
+
+2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c, tree-ssa-operands.c: Fix comment typos.
+
+       * tree-cfg.c (tree_split_edge): Speed up by using find_edge.
+
+2004-11-26  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR target/18510
+       * doc/extend.texi (SPARC VIS Built-in Functions): New section.
+
+2004-11-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgrtl.c (try_redirect_by_replacing_jump): Speed up the
+       check that tests if all edges go to the same destination.
+
+       * bitmap.c (bitmap_find_bit): Speed up by traversing from
+       head->first if that seems profitable.
+
+2004-11-25  Jeff Law  <law@redhat.com>
+
+       * timevar.def (TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI): New timevars.
+       * tree-ssa-loop.c (pass_loop_init): Use TV_TREE_LOOP_INIT.
+       (pass_loop_done): Use TV_TREE_LOOP_FINI.
+
+2004-11-26  Alan Modra  <amodra@bigpond.net.au>
+
+       PR rtl-optimization/16356
+       * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
+       separate output register and one less jump.  Enable for powerpc64.
+       (floatdisf2): Adjust for above.
+
+2004-11-25  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (STARTFILE_SPEC): Add crt0.
+       (GCC_DRIVER_HOST_INITIALIZATION): Define.
+
+2004-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/17957
+       * tree-complex.c (vector_inner_type): New variable moved from
+       build_word_mode_vector_type.
+       (vector_last_type): Likewise.
+       (vector_last_nunits): Likewise.
+       (build_word_mode_vector_type): Use the new variables.
+       * Makefile.in (tree-complex.o): Add gt-tree-complex.h $(GGC_H).
+       (GTFILES): Add tree-complex.c.
+       (gt-tree-complex.h): New rule, add it to the rest of the gt-* rules.
+
 2004-11-25  Bob Wilson  <bob.wilson@acm.org>
 
        * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
 2004-11-25  Richard Henderson  <rth@redhat.com>
 
        PR c++/6764
-        * reload1.c (set_initial_eh_label_offset): New.
-        (set_initial_label_offsets): Use it.
+       * reload1.c (set_initial_eh_label_offset): New.
+       (set_initial_label_offsets): Use it.
 
 2004-11-25  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        PR tree-optimization/18587
        * tree-flow-inline.h (mark_call_clobbered, mark_non_addressable): Flag
        call clobbered caches as invalid.
-       * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag 
+       * tree-ssa-operands.c (ssa_call_clobbered_cache_valid): New.  Flag
        indicating whether the call clobbered operand cache is valid.
        (ssa_ro_call_cache_valid): New.  Flag indicating whether the
        pure/const call operand cache is valid.
-       (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.  Cached 
+       (clobbered_v_may_defs, clobbered_vuses, ro_call_vuses): New.  Cached
        list of operands for cached call virtual operands.
-       (clobbered_aliased_loads, clobbered_aliased_stores, 
+       (clobbered_aliased_loads, clobbered_aliased_stores,
        ro_call_aliased_load): New.  flags caching whether alias bits are
        to be set in call stmt's.
        (fini_ssa_operands): Remove call operand caches if present.
        build array
        (finalize_ssa_vuses): Use cleanup_v_may_defs and remove redundant
        VUSES by checking the in_v_may_def_list bit.
-       (append_v_may_def, append_vuse): Use the in_list bit rather than 
+       (append_v_may_def, append_vuse): Use the in_list bit rather than
        scanning the array for duplicates.
 
 2004-11-25  Ulrich Weigand  <uweigand@de.ibm.com>
        * config/i386/i386.c (i386_dwarf_output_addr_const): Likewise.
        * config/i386/i386-protos.h (i386_dwarf_output_addr_const):
        Likewise.
-       
+
 2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
        * tree-sra.c (sra_walk_modify_expr): Handle RHS first, then LHS.
        * recog.c (recog_memoized_1): Remove.
        * recog.h (recog_memoized_1): Remove declaration.
        (recog_memoized): Change from macro to inline function.
-       
+
 2004-11-24  Devang Patel  <dpatel@apple.com>
 
        PR/18555
 2004-11-24  Devang Patel  <dpatel@apple.com>
 
        * gcc.c (process_command): Supply -v to linker.
-       
+
 2004-11-24  David Edelsohn  <edelsohn@gnu.org>
            Paolo Bonzini  <bonzini@gnu.org>
 
 
 2004-11-24  Mark Mitchell  <mark@codesourcery.com>
 
-       * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE): 
+       * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE):
        Define to false.
 
 2004-11-24  Joseph Myers  <joseph@codesourcery.com>
 
 2004-11-24  Steven Bosscher  <stevenb@suse.de>
 
-       * expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR 
+       * expr.c (expand_expr_real_1): Remove cases for EXIT_BLOCK_EXPR
        and LABELED_BLOCK_EXPR.
        * gimplify.c (gimplify_labeled_block_expr): Remove.
        (gimplify_exit_block_expr): Remove.