OSDN Git Service

* config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 18d3af2..411a636 100644 (file)
@@ -1,3 +1,637 @@
+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
+       instead to find the PHI argument.  Do not take I as an
+       argument.
+       (eliminate_phi): Adjust the call to eliminate_build.  Do not
+       take I as an argument.
+       (rewrite_trees): Adjust the call to eliminate_phi.
+
+2004-11-24  Richard Sandiford  <rsandifo@redhat.com>
+
+       * optabs.h (force_expand_binop): Declare.
+       * optabs.c (force_expand_binop): Export.
+       * stmt.c (shift_return_value): Delete.
+       (expand_return): Don't call it.
+       * expr.h (shift_return_value): Declare.
+       * calls.c (shift_returned_value): Delete in favor of...
+       (shift_return_value): ...this new function.  Leave the caller to check
+       for non-BLKmode values passed in the msb of a register.  Take said mode
+       and a shift direction as argument.  Operate on the hard function value,
+       not a pseudo.
+       (expand_call): Adjust accordingly.
+       * function.c (expand_function_start): If a non-BLKmode return value
+       is padded at the last significant end of the return register, use the
+       return value's natural mode for the DECL_RESULT, not the mode of the
+       padded register.
+       (expand_function_end): Shift the same sort of return values left by
+       the appropriate amount.
+
+2004-11-24  Matt Austern  <austern@apple.com>
+
+       * 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
+       * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add isysroot.
+       * config/darwin-c.c (darwin_register_frameworks): Use sysroot.
+
+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>
+
+       * config/rs6000/rs6000.c (rs6000_return_in_memory): Allow Altivec
+       vector modes without ALTIVEC_ABI.  Use GCC vector instead of
+       synthetic vector.
+       (rs6000_pass_by_reference): Split conditional into pieces.  Use
+       GCC vector instead of synthetic vector.
+
+2004-11-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.c (recompute_tree_invarant_for_addr_expr): The address of a
+       thread-local variable is invariant.
+
+2004-11-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree-pretty-print.c (dump_generic_node, case POINTER_TYPE):
+       Handle TYPE_REF_CAN_ALIAS_ALL.
+       (print_declaration): Print array dimensions like dump_generic_node.
+
+       * fold-const.c (operand_equal_p): Remove kludge allowing ARG0 and
+       ARG1 to be null; instead define OP_SAME and OP_SAME_NULL and use them.
+
+2004-11-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * bitmap.c (INLINE): Do not define.
+       (bitmap_elem_to_freelist, bitmap_element_free,
+       bitmap_element_allocate, bitmap_clear, bitmap_element_zerop,
+       bitmap_element_link, bitmap_find_bit): Use inline keyword/macro.
+
+2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c (cprop_into_successor_phis): Remove code to
+       find the index of a PHI argument.  Use e->dest_idx instead.
+       Replace hint with index.
+
+       * tree-ssa-dom.c (cprop_into_successor_phis): Replace index
+       with indx.
+
+2004-11-24  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (merge_pointed_to_info): Fix comment
+       regarding PT_MALLOC.
+
+2004-11-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/i386.c (optimization_options): Use
+       SUBTARGET_OPTIMIZATION_OPTIONS.
+       * config/i386/sol2-10.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define.
+       (TARGET_SUBTARGET_DEFAULT): Don't include
+       MASK_OMIT_LEAF_FRAME_POINTER.
+
+2004-11-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/i386/sol2.h (X86_FILE_START_VERSION_DIRECTIVE): 
+       Define to false.
+
+2004-11-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/t-sol2-10 (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES):
+       Use amd64 instead of 64.
+
+2004-11-24  Mark Mitchell  <mark@codesourcery.com>
+            Joseph Myers  <joseph@codesourcery.com>
+
+       * crtstuff.c (IN_LIBGCC2): Define it.
+       (EH_FRAME_SECTION_CONST): Check EH_TABLES_CAN_BE_READ_ONLY
+       instead of HAVE_LD_RO_RW_SECTION_MIXING.
+       * defaults.h (EH_TABLES_CAN_BE_READ_ONLY): New macro.
+       * dwarf2out.c (named_section_eh_frame_section): Check
+       EH_TABLES_CAN_BE_READ_ONLY.
+       * except.c (default_exception_section): Likewise.
+       * config/i386/sol2.h (EH_TABLES_CAN_BE_READ_ONLY): Define.
+       * doc/tm.texi (EH_TABLES_CAN_BE_READ_ONLY): Document.
+
+2004-11-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-pre.c (phi_translate): Use find_edge to find the
+       index of a PHI argument.
+
+       * tree-ssa-loop-manip.c (lv_adjust_loop_header_phi): Use
+       find_edge to find the index of a PHI argument.
+
+2004-11-24  Steven Bosscher  <stevenb@suse.de>
+
+       * 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.
+       (gimplify_expr): Don't call them.
+       * tree-inline.c (copy_body_r): Don't handle EXIT_BLOCK_EXPR
+       and LABELED_BLOCK_EXPR.
+       (estimate_num_insns_1): Likewise.
+       (walk_tree): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Don't handle
+       EXIT_BLOCK_EXPR and LABELED_BLOCK_EXPR.
+       * tree.def (EXIT_BLOCK_EXPR): Moved to java-tree.def.
+       (LABELED_BLOCK_EXPR): Likewise.
+       * tree.h (LABELED_BLOCK_LABEL): Moved to java-tree.h.
+       (LABELED_BLOCK_BODY): Likewise.
+       (EXIT_BLOCK_LABELED_BLOCK): Likewise.
+       (EXIT_BLOCK_RETURN): Removed.
+
+2004-11-24  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgrtl.c (rtl_delete_block): Fix comment.
+       * emit-rtl.c (remove_unnecessary_notes): Die if we see BLOCK_BEG
+       or BLOCK_END insn notes.
+       * jump.c (squeeze_notes): Likewise.
+       * haifa-sched.c (reemit_notes): Don't "re-emit" EH_REGION_BEG and
+       EH_REGION_END notes, we never have them to begin with.
+       * sched-deps.c (sched_analyze_insn): When updating loop notes,
+       verify that we have indeed only recorded loop notes.
+       (sched_analyze): Die if we see EH_REGION_BEG or EH_REGION_END notes.
+       Only record loop notes.
+
+       * cfgexpand.c (tree_expand_cfg): Fix comment.
+
+       * passes.c (rest_of_compilation): Don't do a second call to
+       convert_from_eh_region_ranges from here, it's already called
+       from cfgexpand.c.
+       * except.c (resolve_fixup_regions): Remove.
+       (remove_fixup_regions): Remove.
+       (convert_from_eh_region_ranges_1): Remove.
+       (convert_from_eh_region_ranges): Remove the case where EH is
+       not already lowered at the tree level.  We always lower there.
+
+2004-11-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR c++/16882
+       * tree.c (make_vector_type): Move qualifiers to the vector type,
+       use the inner type's main variant and build a main variant for
+       the vector type if necessary.
+       (type_hash_eq): Check a vector type's TYPE_VECTOR_SUBPARTS.
+
+2004-11-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * target.h (late_rtl_prologue_epilogue): Remove.
+       * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
+       * system.h: Poison TARGET_LATE_RTL_PROLOGUE_EPILOGUE.
+       * passes.c (rest_of_handle_prologue_epilogue): Remove and move
+       remaining bits to...
+       (rest_of_handle_flow2): ...here.
+       (rest_of_compilation): Remove call to rest_of_handle_prologue_epilogue.
+       * doc/tm.texi (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Remove.
+
+2004-11-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * hwint.h (HOST_LONG_LONG_FORMAT): New macro.  Use it throughout.
+       * config/i386/xm-mingw32.h (HOST_LONG_LONG_FORMAT): Define.
+       * doc/hostconfig.texi (HOST_LONG_LONG_FORMAT): Document.
+
+2004-11-24  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/i386/i386.c (override_options): Move
+       SUBTARGET_OVERRIDE_OPTIONS before defaulting
+       flag_omit_frame_pointer.
+
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (validate_subreg): Declare.
+       * emit-rtl.c (validate_subreg): New.
+       (gen_rtx_SUBREG): Use it.
+       * simplify-rtx.c (simplify_subreg): Likewise.
+       (simplify_gen_subreg): Likewise.  Remove duplicate asserts.
+       * expr.c (emit_move_insn_1): Tidy complex move code.  Use memory
+       fallback whenever gen_realpart/gen_imagpart would not be able to
+       create SUBREGs.
+
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * expmed.c (extract_bit_field): Use simplify_gen_subreg instead of
+       hard-coding avoiding calls to gen_rtx_SUBREG.  Split complex return
+       modes to CONCAT.
+
+2004-11-23  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/18618
+       * tree-into-ssa.c (DEF_VEC_MALLOC_P(basic_block)): Declare.
+       (insert_phi_nodes_for): Change third argument to VEC(basic_block).
+       * tree-ssa-dom.c (avail_exprs_stack): Change type to VEC(tree_on_heap).
+       Update all users.
+       (stmts_to_rescan): Likewise.
+       (const_and_copies_stack): Likewise.
+       (nonzero_vars_stack): Likewise.
+       (vrp_variables_stack): Likewise.
+
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * cse.c (record_jump_cond_subreg): New.
+       (record_jump_cond): Use it instead of gen_lowpart.
+
+2004-11-23  Daniel Jacobowitz  <dan@codesourcery.com>
+           Joseph Myers  <joseph@codesourcery.com>
+
+       * config/sol2-c.c (solaris_register_pragmas): Use
+       c_register_pragma_with_expansion.
+       * config/sol2.h (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Define.
+       * c-pragma.c (c_register_pragma): Update call to
+       cpp_register_pragma.
+       (c_register_pragma_with_expansion): New function.
+       (init_pragma): Honor HANDLE_PRAGMA_PACK_WITH_EXPANSION.
+       * c-pragma.h (c_register_pragma_with_expansion): New prototype.
+       * doc/extend.texi (Solaris Pragmas): Mention macro expansion for
+       #pragma align.
+       * doc/tm.texi (c_register_pragma_with_expansion,
+       HANDLE_PRAGMA_PACK_WITH_EXPANSION): Document.
+
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * combine.c (gen_lowpart_for_combine): Factor out mode of x as well
+       as mode sizes into local temporaries.  Unify failure path.
+
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
+       * caller-save.c (mark_set_regs): Use subreg_regno instead.
+       * final.c (alter_subreg): Likewise.
+       * local-alloc.c (reg_is_born): Likewise.
+
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly
+       instead of using a SUBREG temporary.
+
+2004-11-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (tree_forwarder_block_p): Speed up by reordering
+       two checks.
+
+2004-11-23  Zack Weinberg  <zack@codesourcery.com>
+
+       * function.h (struct function): Remove calls_longjmp.
+       (current_function_calls_longjmp): Delete.
+       * tree.h (ECF_LONGJMP): Delete.
+       (ECF_SIBCALL, ECF_PURE, ECF_SP_DEPRESSED, ECF_ALWAYS_RETURN)
+       (ECF_LIBCALL_BLOCK): Everybody slide down one.
+       (ECF_CONST, ECF_NORETURN, ECF_SIBCALL): Clarify comments.
+       * builtins.c (expand_builtin_longjmp): Don't set
+       current_function_calls_longjmp.
+       * calls.c (special_function_p): Mark longjmp and siglongjmp
+       with ECF_NORETURN, not ECF_LONGJMP.
+       (emit_call_1, expand_call, emit_library_call_value_1):
+       Don't check for ECF_LONGJMP.
+       * tree-cfg.c (make_exit_edges, is_ctrl_altering_stmt)
+       (need_fake_edge_p): Likewise.
+
+       * config/avr/avr.h, config/ip2k/ip2k.h: Don't define NON_SAVING_SETJMP.
+       * system.h: Poison NON_SAVING_SETJMP.
+       * function.c (use_register_for_decl)
+       * gcse.c (compute_hash_table_work, compute_store_table)
+       * postreload-gcse.c (record_opr_changes)
+       * reload.c (find_equiv_reg)
+       * reload1.c (reload)
+       * config/i386/i386.c (ix86_can_use_return_insn_p):
+       Remove code conditional on NON_SAVING_SETJMP.
+       * doc/tm.texi: Delete documentation of NON_SAVING_SETJMP.
+
+       * config/i386/sysv3.h: Delete file.
+       * config/i386/i386.c (ix86_svr3_asm_out_constructor): Delete.
+
+2004-11-23  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (vect_analyze_operations): Don't vectorize if
+       the vectorization factor is greater than the iteration count.
+       (vect_gen_niters_for_prolog_loop): No need to calculate min if the
+       iteration count is known.
+
+       (vect_build_symbol_bound): Removed. Its functionality moved to
+       vect_generate_tmps_on_preheader.
+       (vect_generate_tmps_on_preheader): Moved content of
+       vect_build_symbol_bound here instead of calling it.  Changed some
+       variables names.
+
+       (vect_build_loop_niters): We don't expect a new_bb to be generated -
+       use gcc_assert.
+       (vect_gen_niters_for_prolog_loop): Likewise.
+       (vect_gen_niters_for_prolog_loo): Likewise.
+
+       (slpeel_make_loop_iterate_ntimes): Use buildN instead of build.
+       (slpeel_add_loop_guard): Likewise.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+       (vect_do_peeling_for_alignment): Likewise.
+
+       (vect_get_first_index): Missing space.
+
 2004-11-23  Ulrich Weigand  <uweigand@de.ibm.com>
 
        * config/s390/s390.md ("*iordi3"): Mark commutative.
        removed.
        (DYNAMIC_CHAIN_ADDRESS): Use TARGET_PACKED_STACK.
        * config/s390/s390.md ("allocate_stack", "restore_stack_block")
-       ("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect 
+       ("save_stack_nonlocal", "restore_stack_nonlocal"): Modified to reflect
        the change in target switch semantics.
        * config/s390/tpf.h (TARGET_DEFAULT_BACKCHAIN): Removed.
        (TARGET_DEFAULT): MASK_BACKCHAIN added.
 
 2004-11-23  Uros Bizjak  <uros@kss-loka.si>
 
-        PR rtl-optimization/18614
-        * simplify-rtx.c (simplify_binary_operation): Do not
-        simplify inner elements of constant arguments of
-        VEC_CONCAT insn.
+       PR rtl-optimization/18614
+       * simplify-rtx.c (simplify_binary_operation): Do not
+       simplify inner elements of constant arguments of
+       VEC_CONCAT insn.
 
 2004-11-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * tree-vectorizer.c (vect_create_data_ref_ptr): Use
        lang_hooks.types.type_for_size instead of integer_type_node for the
        type of ptr_update.
-       
+
 2004-11-23  Ralf Corsepius <ralf.corsepius@rtems.org>
 
        * config.gcc (h8300-*-rtems*): Use h8300/t-rtems.
        (idx_find_step): Replace uses of EXEC_BINARY with calls to
        fold_binary_to_constant.
 
+2004-11-22  Nick Clifton  <nickc@redhat.com>
+
+       * sbitmap.c (sbitmap_union_of_preds): Remove redundant
+       initialisation of 'e'.
+
 2004-11-22  Roger Sayle  <roger@eyesopen.com>
 
        * config/i386/i386.h (TARGET_USE_FANCY_MATH_387): New macro.
        logbdf2, logbxf2, ilogbsi2, *f2xm1xf2, *fscalexf4, expsf2,
        expdf2, expxf2, exp10sf2, exp10df2, exp10xf2, exp2sf2, exp2df2,
        exp2xf2, expm1df2, expm1sf2, expm1xf2, frndintxf2, rintdf2,
-       rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2, 
+       rintsf2, rintxf2, frndintxf2_floor, floordf2, floorsf2,
        floorxf2, frndintxf2_ceil, ceildf2, ceilsf2, ceilxf2,
        frndintxf2_trunc, btruncdf2, btruncsf2, btruncxf2,
        frndintxf2_mask_pm, nearbyintdf2, nearbyintsf2, nearbyintxf2):
 2004-11-22  Devang Patel  <dpatel@apple.com>
 
        * tree-if-conv.c (clean_predicate_lists): Clean all basic blocks.
-       
+
 2004-11-22  Devang Patel  <dpatel@apple.com>
 
        * tree-if-conv.c (if_convertable_phi_p): Rename to ...
        (if_convertible_bb_p): ... new name.
        (if_convertable_loop_p): Rename to ...
        (if_convertible_loop_p): ... new name.
-       
+
 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR target/18444
 
 2004-11-22 Daniel Berlin  <dberlin@dberlin.org>
 
-        * tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be
+       * tree-ssa.c (verify_ssa): SSA_OP_ALL_USES should be
        SSA_OP_ALL_USES | SSA_OP_ALL_KILLS for verification purposes.
 
 2004-11-22  David Edelsohn  <edelsohn@gnu.org>
 
 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.
        (vect_update_niters_after_peeling): Use type of niters instead of
        integer_type.
        (vect_transform_loop): Unify handling of known and unknown loop bound
-       cases. Call make_loop_iterate_ntimes instead of 
+       cases. Call make_loop_iterate_ntimes instead of
        vect_transform_loop_bound.
 
 2004-11-22  Andrew Pinski  <pinskia@physics.uc.edu>
 2004-11-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
 
        * config.gcc: Use t-slibgcc-elf to build libgcc_s.so on
-        m32r*linux.
+       m32r*linux.
        * config/m32r/t-linux (SHLIB_MAPFILES): Override to use
        m32r/libgcc-glibc.ver.
        * config/m32r/libgcc-glibc.ver: Add New file.
 
 2004-11-19  Aldy Hernandez  <aldyh@redhat.com>
 
-        * simplify-rtx.c (simplify_ternary_operation): Use
-        gen_int_mode.
+       * simplify-rtx.c (simplify_ternary_operation): Use
+       gen_int_mode.
 
 2004-11-19  Kazu Hirata  <kazu@cs.umass.edu>
 
        (slpeel_tree_peel_loop_to_edge): Call slpeel_make_loop_iterate_ntimes
        without last two arguments. Update single_exit of loops.
        (vect_update_niters_after_peeling): Removed. Its functionality was
-       moved to vect_do_peeling_for_alignment. 
+       moved to vect_do_peeling_for_alignment.
        (vect_do_peeling_for_loop_bound): New name for function previously
        called vect_transform_for_unknown_loop_bound.
        (vect_transform_loop_bound): Call slpeel_make_loop_iterate_ntimes
        instead of code that duplicates the same functionality.
-       (vect_do_peeling_for_alignment): Functionality of   
+       (vect_do_peeling_for_alignment): Functionality of
        vect_update_niters_after_peeling moved here.
        (vect_transform_loop): Unify call to vect_do_peeling_for_loop_bound -
        previously named vect_transform_for_unknown_loop_bound - for both known
        altivec_lvx_4sf): Rename and replace with ...
        (altivec_lvx_<mode>): ... mode macro version.
        (altivec_stvx_4si, altivec_stvx_8hi, altivec_stvx_16qi,
-       altivec_stvx_4sf): Rename and replace with ... 
+       altivec_stvx_4sf): Rename and replace with ...
        (altivec_stvx_<mode>): ... mode macro version.
        (movv4si, movv8hi, movv16qi, movv4sf}): Replace with ...
        (mov<mode>): ... mode macro version.
 
 2004-11-18  Uros Bizjak  <uros@kss-loka.si>
 
-        * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
-        insn split constraint.
-        (define_peephole2): Remove unneeded "&& 1" from peephole2
-        constraints.
+       * configure/i386/i386.md (*fix_trunch_1): Add "&& 1" to
+       insn split constraint.
+       (define_peephole2): Remove unneeded "&& 1" from peephole2
+       constraints.
 
 2004-11-18  Ben Elliston  <bje@au.ibm.com>
 
 
        * config/i386/i386.c (i386_solaris_elf_named_section): Mark with
        ATTRIBUTE_UNUSED.
-  
+
 2004-11-17  Zack Weinberg  <zack@codesourcery.com>
 
        * defaults.h, config/darwin.h: Don't define TARGET_SUPPORTS_HIDDEN.