OSDN Git Service

* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 91878f8..411a636 100644 (file)
@@ -1,5 +1,288 @@
+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-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.