+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
+ __XTENSA_WINDOWED_ABI__.
+
+2004-11-25 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_stack_adjust): Add after_p argument. Save
+ args_size adjustments for calls even with cfa as stack pointer.
+ Search calls for stack adjustments after the insn is issued.
+ (dwarf2out_frame_debug): Add after_p argument; pass it on.
+ * dwarf2out.h (dwarf2out_frame_debug): Update to match.
+ * final.c (final_start_function, final_scan_insn): Likewise.
+
+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.
+
+2004-11-25 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_output_mi_thunk): Initialize bitmap obstacks
+ before calling life_analysis and release them after.
+
+2004-11-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-forwprop.c (substitute_single_use_vars): Remove
+ duplicate code.
+
+2004-11-25 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * bitmap.h (BITMAP_XMALLOC): Use BITMAP_ALLOC and not
+ BITMAP_OBSTACK_ALLOC.
+ (BITMAP_XFREE): Use BITMAP_FREE and not BITMAP_OBSTACK_FREE.
+
+2004-11-25 Andrew Pinski <pinskia@physics.uc.edu>
+
+ parts of PR rtl-opt/18463, rtl-opt/17647
+ * cse.c (canon_for_address): New function.
+ (find_best_addr): Call canon_for_address before getting the
+ address's cost when checking if we should take that address.
+
+2004-11-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-phinodes.c (add_phi_arg): Take "tree" instead of
+ "tree *" as the first argument.
+ * tree-flow.h: Update the prototype of add_phi_arg.
+ * lambda-code.c, tree-cfg.c, tree-into-ssa.c,
+ tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-pre.c,
+ tree-ssa-threadupdate.c, tree-ssa.c, tree-tailcall.c,
+ tree-vectorizer.c: Update all call sites of add_phi_arg.
+
+2004-11-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * bitmap.c (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
+ * bitmap.h (bitmap_malloc_alloc, bitmap_malloc_free): Remove.
+ (BITMAP_XMALLOC): Forward to BITMAP_OBSTACK_ALLOC.
+ (BITMAP_XFREE): Forward to BITMAP_OBSTACK_FREE.
+
+2004-11-25 Andrew MacLeod <amacleod@redhat.com>
+
+ 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
+ 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
+ list of operands for cached call virtual operands.
+ (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.
+ (get_expr_operands, get_asm_expr_operands,
+ get_indirect_ref_operands): Pass stmt annotation to add_stmt_operand.
+ (get_call_expr_operands): Add call clobbered variables first.
+ (add_stmt_operand): Take stmt annotation rather than stmt as a param.
+ (add_call_clobber_ops, add_call_read_ops): Use the call operand cache
+ if it is valid, otherise fill the cache.
+ * tree-ssa-operands.h (ssa_clobbered_cache_valid): Declare extern.
+ * tree-flow.h (struct var_ann_d): Add in_vuse_list and
+ in_v_may_def_list bits.
+ * tree-ssa-operands.c (cleanup_v_may_defs): New. Clear the
+ in_list bits for the v_may_def elements and empty the operand
+ 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
+ scanning the array for duplicates.
+
+2004-11-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_short_displacement): UNSPEC_GOTNTPOFF
+ displacements are not short.
+
+2004-11-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (legitimize_pic_address): Use s390_load_address
+ to load addresses.
+
+2004-11-25 Mark Mitchell <mark@codesourcery.com>
+
+ PR c++/18001
+ * c-common.h (lvalue_use): Move here from c-ctypeck.c.
+ (lvalue_or_else): Declare.
+ * c-common.c (lvalue_or_else): Move here from c-typeck.c.
+ * c-typeck.c (lvalue_use): Remove.
+ (lvalue_or_else): Remove.
+
+ PR c++/18556
+ * toplev.c (check_global_declarations): Set DECL_IGNORED_P on
+ unemitted variables with static storage duration.
+
+2004-11-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * tree-cfg.c (tree_verify_flow_info): Do not terminate error()
+ message with \n.
+
+2004-11-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/rs6000/altivec.md (VIshort): New mode macro.
+ (altivec_vaddubs, altivec_vadduhs, altivec_vadduws): Replace
+ with ...
+ (altivec_vaddu<VI_char>s): ... this.
+ (altivec_vaddsbs, altivec_vaddshs, altivec_vaddsws): Replace
+ with ...
+ (altivec_vadds<VI_char>s): ... this.
+ (altivec_vsububs, altivec_vsubuhs, altivec_vsubuws): Replace
+ with ...
+ (altivec_vsubu<VI_char>s): ... this.
+ (altivec_vsubsbs, altivec_vsubshs, altivec_vsubsws): Replace
+ with ...
+ (altivec_vsubs<VI_char>s): ... this.
+ (altivec_vavgub, altivec_vavguh, altivec_vavguw): Replace
+ with ...
+ (altivec_vavgu<VI_char>): ... this.
+ (altivec_vavgsb, altivec_vavgsh, altivec_vavgsw): Replace
+ with ...
+ (altivec_vavgs<VI_char>): ... this.
+ (altivec_vmsumubm, altivec_vmsumuhm): Replace with ...
+ (altivec_vmsumu<VI_char>m): ... this.
+ (altivec_vmsummbm, altivec_vmsummhm): Replace
+ with ...
+ (altivec_vmsumm<VI_char>m): ... this.
+ (altivec_vandc): Remove.
+ (*andc<mode>3): Renamed to ...
+ (andc<mode>3): ... here. Swap operand 1 and 2 numbering.
+ (altivec_vrlb, altivec_vrlh, altivec_vrlw): Replace
+ with ...
+ (altivec_vrl<VI_char>): ... this.
+ (altivec_vslb, altivec_vslh, altivec_vslw): Replace
+ with ...
+ (altivec_vsl<VI_char>): ... this.
+ (altivec_vsrb, altivec_vsrh, altivec_vsrw): Replace
+ with ...
+ (altivec_vsr<VI_char>): ... this.
+ (altivec_vsrab, altivec_vsrah, altivec_vsraw): Replace
+ with ...
+ (altivec_vsra<VI_char>): ... this.
+ (altivec_vsum4sbs, altivec_vsum4shs): Replace with ...
+ (altivec_vsum4s<VI_char>s): ... this.
+ (altivec_vperm_4si, altivec_vperm_8hi, altivec_vperm_16qi): Replace
+ with ...
+ (altivec_vperm_<mode>): ... this.
+ (altivec_vsel_4sf): Rename to ...
+ (altivec_vsel_v4sf): ... here.
+ (altivec_vsel_4si, altivec_vsel_8hi, altivec_vsel_16qi): Replace
+ with ...
+ (altivec_vsel_<mode>): ... this.
+ (altivec_vsldoi_4si, altivec_vsldoi_8hi,
+ altivec_vsldoi_16qi): Rename to ...
+ (altivec_vsldoi_v4si, altivec_vsldoi_v8hi,
+ altivec_vsldoi_v16qi): ... here.
+ (altivec_vsldoi_4sf): Rename to ...
+ (altivec_vsldoi_v4sf): ... here.
+ (altivec_predicate_v4si, altivec_predicate_v8hi,
+ altivec_predicate_v16qi): Replace with ...
+ (altivec_predicate_<mode>): ... this.
+ (altivec_lvebx, altivec_lvehx, altivec_lvewx): Replace
+ with ...
+ (altivec_lve<VI_char>x): ... this.
+ (altivec_stvebx, altivec_stvehx, altivec_stvewx): Replace
+ with ...
+ (altivec_stve<VI_char>x): ... this.
+ (absv16qi2, absv8hi2, absv4si2): Replace
+ with ...
+ (abs<mode>2): ... this.
+ (altivec_abss_v16qi, altivec_abss_v8hi, altivec_abss_v4si): Replace
+ with ...
+ (altivec_abss_<mode>): ... this.
+ (vec_realign_load_v16qi, vec_realign_load_v8hi,
+ vec_realign_load_v4si): Replace with ...
+ (vec_realign_load_<mode>): ... this.
+ * config/rs6000/rs6000.c (bdesc_3arg, bdesc_2arg): Update tweaked
+ insn names.
+ (rs6000_expand_ternop_builtin): Likewise.
+
+2004-11-25 Andrew Haley <aph@redhat.com>
+
+ * gcc.c (process_command): Don't supply -v to linker.
+
+2004-11-25 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Use %qs
+ instead of `%s' in diagnostic.
+
+2004-11-25 Nathan Sidwell <nathan@codesourcery.com>
+
+ * basic-block.h (OBSTACK_ALLOC_REG_SET): Adjust.
+ (FREE_REG_SET): Adjust.
+ * bitmap.c (bitmap_obstack_free): Cope with NULL bitmap.
+ * bitmap.h (BITMAP_OBSTACK_ALLOC): Rename to ...
+ (BITMAP_ALLOC): ... here.
+ (BITMAP_OBSTACK_FREE): Rename to ...
+ (BITMAP_FREE): Don't check for NULL bitmap here.
+ * tree-ssa-pre.c (value_insert_into_set_bitmap,
+ bitmap_set_new): Use new names.
+
+ * bt-load.c (migrate_btr_defs): Remove unneeded NULL check.
+ * df.c (df_free): Likewise.
+ * ra-build.c (ra_build_free, ra_build_free_all): Likewise.
+ * tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise.
+
+ * basic-block.h (OBSTACK_ALLOC_REG_SET): Rename to ...
+ (ALLOC_REG_SET): ... here.
+ (FREE_REG_SET): Adjust.
+ (XMALLOC_REG_SET, XFREE_REG_SET): Remove.
+ * bb-reorder.c (fix_crossing_conditional_branches): Adjust.
+ * cfglayout.c (cfg_layout_duplicate_bb): Adjust.
+ * cfgrtl.c (rtl_split_block, rtl_split_edge,
+ safe_insert_insn_on_edge, cfg_layout_split_edge): Adjust.
+ * flow.c (update_life_info, calculate_global_regs_live,
+ allocate_bb_life_data, init_propagate_block_info): Adjust.
+ * global.c (build_insn_chain): Adjust.
+ * ifcvt.c (dead_or_predicable): Adjust.
+ * loop-iv.c (simplify_using_initial_values): Adjust.
+ * recog.c (peephole2_optimize): Adjust.
+ * sched-deps.c (init_deps_global): Adjust.
+
+2004-11-25 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config.gcc (avr-*-rtems*): Fix typo.
+
+2004-11-25 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (sh_output_mi_thunk): Do not call regset_release_memory.
+
+2004-11-24 Jeff Law <law@redhat.com>
+
+ * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Reduce
+ the number of queries to random elements in the ai->written_vars
+ bitmap.
+
+2004-11-24 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (override_options): Disable x87 fancy math
+ intrinsics if -mfpmath= doesn't include 387 (default on x86_64).
+
+2004-11-24 Roger Sayle <roger@eyesopen.com>
+
+ * configure.ac: Tweak test for HAVE_DECL_LDGETNAME to avoid a
+ system header conflict on AIX 5.2.
+ * configure: Regenerate.
+
+2004-11-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-outof-ssa.c (coalesce_abnormal_edges): Use e->dest_idx
+ instead of calling phi_arg_from_edge.
+
+ * tree-phinodes.c (remove_phi_args): Replace phi_arg_from_edge
+ with e->dest_idx.
+
+2004-11-24 Ben Elliston <bje@au.ibm.com>
+
+ * config/i386/i386.h (ASM_OUTPUT_DWARF_ADDR_CONST): Remove.
+ * 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.
+
+ * tree-inline.c (copy_body_r): Explicitly copy a constant if the
+ type will be remapped.
+
+2004-11-24 Steven Bosscher <stevenb@suse.de>
+
+ * c-opts.c (c_common_post_options): Don't clear
+ flag_inline_functions.
+ * dojump.c (clear_pending_stack_adjust): Remove check on
+ flag_inline_functions, it's always true.
+ * config/alpha/alpha.md (movdi_er_maybe_g): Remove splitter
+ that can never trigger.
+ * config/c4x/c4x.h (TARGET_CPU_CPP_BUILTINS): Don't look at
+ flag_inline_trees, now that flag_inline_functions is never
+ cleared.
+ * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Don't set
+ flag_inline_functions at optimization levels greater than
+ or equal to 3. This is already done by default.
+
2004-11-24 Kazu Hirata <kazu@cs.umass.edu>
* tree-outof-ssa.c (eliminate_build): Use g->e->dest_idx
* 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.
2004-11-22 Nathan Sidwell <nathan@codesourcery.com>
+ PR target/18531
* config/rs6000/altivec.md (VI_char): New mode attribute.
(addv16qi3, addv8hi3, addv4ai3): Replace with ...
(add<mode>3): ... this.