+2004-12-08 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
+ to avoid call to default function.
+
+2004-12-08 Zack Weinberg <zack@codesourcery.com>
+
+ PR 17982
+ * varasm.c (pending_assemble_externals): New static.
+ (assemble_external_real): Meat of assemble_external split out
+ to this new function.
+ (process_pending_assemble_externals): New function.
+ (assemble_external): Use gcc_assert. If flag_unit_at_a_time
+ is true and the basic test passes, merely cons the decl onto
+ the pending list to be handled later.
+ * tree.h: Declare process_pending_assemble_externals.
+ * cgraphunit.c (cgraph_optimize): Call it.
+
+ * config/h8300/h8300.h: Do not define ASM_OUTPUT_EXTERNAL.
+
+2004-12-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgloopmanip.c (create_preheader): Speed up by "unrolling"
+ and simplifying FOR_EACH_EDGE.
+
+2004-12-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/frv/frv.c (frv_sort_insn_group): Always initialize
+ packet_group->nop.
+
+2004-12-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/18672
+ * gimplify.c (canonicalize_addr_expr): Cope with array of
+ incomplete type.
+ (gimplify_conversion): Remove redundant checks.
+
+ * doc/trouble.texi (Non-bugs): Clarify empty loop removal.
+
+2004-12-08 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.c (output_387_binary_op,
+ ix86_prepare_fp_compare_args): Fix is_sse condition.
+
+2004-12-07 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
+ argument.
+
+ * config/i386/i386.c (output_fp_compare): Fix is_sse condition.
+ Use EFLAGS_P only when fcomi insn should be used. Fix handling
+ of eflags_p variable. Change alt table accordingly. For non-fcomi
+ compare insn always use trailing fnstsw insn. Fix intmode
+ calculation for ficom insn.
+ (ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
+ ix86_free_from_memory when "pushed" is specified.
+ (ix86_expand_branch): Change call to ix86_split_fp_branch.
+
+ * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
+ Change eflags_p parameter in call to output_fp_compare.
+ (*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
+ (*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
+ *cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf. Change eflags_p
+ parameter in call to output_fp_compare.
+ (*cmpfp_2_u): Remove.
+ (*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
+ in call to output_fp_compare.
+ (*ficom_1): Remove insn definition and corresponding define_split.
+ (*cmpfp_si): New insn definition.
+ (*fp_jcc_8): New insn definition. Add new splitters for
+ "memory_operand" and "register_operand".
+ (define_split): Add new parameter in call to ix86_split_fp_branch.
+
+ config/i386/predicates.md (float_operator): New predicate.
+
+2004-12-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.c (verify_tree): Don't check code length if we know
+ we are handling tcc_unary.
+ * print_tree.c (print_node): Remove code to handle RTL
+ appearing as a part of a tree node.
+ * tree-gimple.c (recalculate_side_effects): Rename fro as len.
+ * tree.c (build1_stat): Don't check TREE_CODE_LENGTH.
+ (PROCESS_ARG): Don't refer to fro.
+ (build2_stat, build3_stat, build4_stat): Don't compute fro.
+
+2004-12-07 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/18293
+ * expmed.c (EXACT_POWER_OF_2_OR_ZERO_P): Move definition earlier.
+ (expand_mult): Special case powers of two to avoid synth_mult.
+ * loop.c (product_cheap_p): Handle case where expand_mult does
+ require/generate any instructions (i.e. multiplication by zero).
+
+2004-12-07 Richard Henderson <rth@redhat.com>
+
+ * tree-pretty-print.c (dump_array_domain): Split out from
+ dump_generic_node; fix off-by-one error on zero-based array bounds.
+ (dump_generic_node): Use it.
+ (print_declaration): Likewise.
+
+2004-12-08 Richard Guenther <richard.guenther@uni-tuebingen.de>
+
+ * doc/invoke.texi: Adjust default values for
+ large-function-growth and inline-unit-growth to match
+ params.def. Clarify used algorithm.
+
+2004-12-07 David Mosberger <davidm@hpl.hp.com>
+
+ PR target/18443
+ * config/ia64/ia64.c (ia64_assemble_integer): Add support for
+ emitting unaligned pointer-sized integers.
+
+2004-12-07 Steven Bosscher <stevenb@suse.de>
+
+ PR c/18867
+ * c-typeck.c (c_start_case): Set orig_type to error_mark_node
+ when the type of the controlling expression is not a valid type.
+
+2004-12-07 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/17340
+ * tree-ssa-pre.c (compute_antic): Fix comment.
+ (compute_avail): Do not recurse, instead do a DFS using a stack
+ and a loop.
+ (execute_pre): Adjust.
+
+2004-12-07 Ziemowit Laski <zlaski@apple.com>
+
+ * c-tree.h (struct lang_type): Rename 'objc_protocols' field
+ to 'objc_info'.
+
+2004-12-07 Eric Christopher <echristo@redhat.com>
+
+ PR target/16317
+ * config/netbsd.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2004-12-07 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips-protos.h (mips_valid_pointer_mode): Move
+ prototype...
+ * config/mips/mips.c: ... here. Make static.
+
+2004-12-07 Eric Christopher <echristo@redhat.com>
+
+ PR target/18442
+ * config/mips/mips.c (mips_vector_mode_supported_p): New function.
+ (TARGET_SCALAR_MODE_SUPPORTED_P): Define to above.
+
+2004-12-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.c, expr.c, fold-const.c, print-tree.c,
+ tree-gimple.c, tree-inline.c, tree-pretty-print.c,
+ tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c: Replace uses of
+ first_rtl_op with TREE_CODE_LENGTH.
+ * tree.c (first_rtl_op): Remove.
+ Replace uses of first_rtl_op with TREE_CODE_LENGTH.
+ * tree.h: Remove the prototype for first_rtl_op.
+
+2004-12-07 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/t-aix43, config/rs6000/t-aix52 (SHLIB_LINK):
+ Revert 2004-12-01 change.
+
+2004-12-06 Ziemowit Laski <zlaski@apple.com>
+
+ * c-tree.h (struct lang_type): Add 'objc_protocols' field.
+
+2004-12-06 DJ Delorie <dj@redhat.com>
+
+ * reload.c (find_valid_class): Fix logic to test inner mode as well.
+ (push_reload): Pass inner mode.
+
+2004-12-06 Eric Christopher <echristo@redhat.com>
+
+ * doc/tm.texi (TARGET_VALID_POINTER_MODE): Document.
+
+2004-12-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
+
+2004-12-06 Zdenek Dvorak <dvorakz@suse.cz>
+ Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/18601
+ * tree-cfg.c (thread_jumps, thread_jumps_from_bb): Removed.
+ (tree_forwarder_block_p): Do not consider blocks that are its own
+ successors forwarders.
+ (cleanup_forwarder_blocks, remove_forwarder_block): New functions.
+ (cleanup_tree_cfg): Use cleanup_forwarder_blocks instead of
+ thread_jumps.
+ * tree-flow.h (bb_ann_d): Remove forwardable.
+
+2004-12-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (expand_expr_real_1): Remove an "if" whose condition
+ is always false.
+
+2004-12-06 Roger Sayle <roger@eyesopen.com>
+
+ * c-gimplify.c (gimplify_c_loop): Improve initial implementations
+ for loops whose conditions are known at compile-time.
+ * gimplify.c (append_to_statement_list_1): Remove side_effects
+ parameter, this function should never be called if its false.
+ (append_to_statement_list): Only call append_to_statement_list_1
+ if t is non-NULL tree with side-effects.
+ (append_to_statement_list_force): Likewise, if t is not NULL.
+
+2004-12-06 J"orn Rennecke <joern.rennecke@st.com>
+
+ * bt-load.c (btr_def_s): New member own_end;
+ (add_btr_to_live_range): Add second parameter. Changed caller.
+ (clear_btr_from_live_range): Clear btrs_live_at_end bit
+ for the register its definition basic block if own_end is set.
+ (augment_live_range): Also take btrs_live_at_end into account.
+ (combine_btr_defs): Don't bother with
+ other_def->other_btr_uses_after_use if it pertains to a different
+ register.
+ (move_btr_def): Set def->other_btr_uses_before_def after
+ calling combine_btr_defs."
+
+ * bt-load.c (augment_live_range): New argument full_range.
+ Changed all callers.
+
+ * bt-load.c (move_tr_def): Set other_tr_uses_before_def
+ taking new btr assignment into account.
+
+2004-12-05 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-alias.c (create_global_var): Use void_type_node,
+ not size_type_node.
+
+2004-12-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * expr.c (expand_expr_real_1): Abort on COND_EXPR of
+ VOID_TYPE.
+
+2004-12-05 Richard Henderson <rth@redhat.com>
+
+ PR target/18841
+ * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
+ (builtin_setjmp_receiver_er_sl_1): Use it.
+ (builtin_setjmp_receiver_er_1): Likewise.
+ (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
+ (builtin_setjmp_receiver): Don't split for explicit relocs until
+ after reload.
+ (exception_receiver): Likewise.
+
+2004-12-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * mklibgcc.in (vis_hide): Add the prototype for the test.
+
+2004-12-05 Roger Sayle <roger@eyesopen.com>
+
+ * c-typeck.c (c_finish_loop): Improve initial implementations
+ for loops whose conditions are known at compile-time.
+
+2004-12-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c: Fix comment typos.
+
+2004-12-04 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/18730
+ * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
+ the first/last insn is a sequence, return the first/last insn of the
+ sequence.
+
+ PR bootstrap/18804
+ * mklibgcc.in (vis_hide): Use implementation instead of declaration
+ for test function.
+
+2004-12-04 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_expand_unaligned_load): Don't forget to
+ use ofs in BWX two byte special case.
+ (alpha_expand_unaligned_store): Likewise.
+
+2004-12-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gcse.c (gcse_main): Add a comment.
+
+2004-12-04 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/17909
+ * builtins.c (fold_builtin_next_arg): Export and return true
+ when there is a warning or an error.
+ (expand_builtin_va_start): When fold_builtin_next_arg returns true,
+ return const0_rtx.
+ (expand_builtin): Likewise.
+ * gimplify.c (gimplify_call_expr): Error out if there is not
+ enough arguments to va_start. Call fold_builtin_next_arg also
+ on the second argument.
+ * tree.h (fold_builtin_next_arg): Prototype.
+
+2004-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ * mklibgcc.in: Build shared libgcc and shared libunwind in gcc/.
+ Don't subst shlib_dir for SHLIB_LINK, SHLIBUNWIND_LINK,
+ SHLIB_INSTALL, and SHLIBUNWIND_INSTALL.
+ * config/i386/t-nwld (SHLIB_NAME): Use shlib_base_name in place of
+ shlib_dir and shlib_so_name.
+ * config/mips/t-slibgcc-irix (SHLIB_NAME): Likewise.
+ * config/t-libunwind-elf (SHLIB_NAME): Likewise.
+ * config/t-slibgcc-darwin (SHLIB_NAME): Likewise.
+ * config/t-slibgcc-elf-ver (SHLIB_NAME): Likewise.
+ * config/t-slibgcc-sld (SHLIB_NAME): Likewise.
+ (SHLIB_LINK): Don't use shlib_dir when creating symlink.
+
+2004-12-03 Roger Sayle <roger@eyesopen.com>
+
+ * doc/tm.texi (TARGET_DELEGITIMIZE_ADDRESS): Document target hook.
+
+2004-12-03 Richard Henderson <rth@redhat.com>
+
+ * alias.c (component_uses_parent_alias_set): Rename from
+ can_address_p. Return bool. Reverse the sense of the result.
+ Reinstate the check for alias set zero.
+ (get_alias_set): Update to match.
+ * alias.h (component_uses_parent_alias_set): Likewise.
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+ * expr.c (expand_assignment): Likewise.
+ * expr.h: Remove commented out prototypes that were moved to alias.h.
+
+2004-12-03 Richard Henderson <rth@redhat.com>
+
+ * doc/tm.texi (TARGET_BUILD_BUILTIN_VA_LIST): New.
+ (TARGET_CANNOT_FORCE_CONST_MEM): New.
+
+2004-12-04 Alan Modra <amodra@bigpond.net.au>
+
+ PR middle end/18718
+ * sched-rgn.c (schedule_region): Don't assume REG_SAVE_NOTEs are
+ in pairs.
+ * sched-ebb.c (schedule_ebb): Likewise.
+
+2004-12-03 Andreas Schwab <schwab@suse.de>
+
+ * Makefile.in (HOSTHOOKS_DEF_H): Define.
+ (ggc-common.o): Depend on $(HOSTHOOKS_DEF_H).
+ (host-default.o): Likewise.
+
+2004-12-03 Eric Christopher <echristo@redhat.com>
+
+ * config/stormy16/stormy16.md (pushqi, popqi, pushhi,
+ pophi): Add number of arguments to name so that the
+ pattern is recognized as a named pattern.
+
+2004-12-03 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/extend.texi (AltiVec Builtins): Fix info about signedness.
+
+2004-12-03 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * config/rs6000/rs6000.c (rs6000_override_options): Protect
+ darwin_one_byte_bool with #if.
+
+2004-12-03 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/tm.texi (Misc): Document TARGET_FOLD_BUILTIN.
+
+2004-12-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * mklibgcc.in: Put back the default set of EXTRA_MULTILIB_PART.
+
+2004-12-03 Richard Sandiford <rsandifo@redhat.com>
+
+ * configure.ac: Move TL_AC_GCC_VERSION into initialization section.
+ Set libstdcxx_incdir directly.
+ * configure: Regenerate.
+
+2004-12-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-dom.c (record_equivalences_from_phis): Remove an
+ "if" whose condition is always true.
+
+ * cfgrtl.c (rtl_verify_flow_info_1): Use JUMP_P instead of
+ INSN_P.
+
2004-12-02 Stan Shebs <shebs@apple.com>
* config/rs6000/rs6000.c (rs6000_override_options): Make 64-bit
* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add -gfull and -gused.
* config/rs6000/darwin.h (CC1_SPEC): Do not handle -gfull and -gused.
* config/i386/darwin.h (CC1_SPEC): Same.
-
+
2004-12-02 Richard Henderson <rth@redhat.com>
* optabs.c (lowpart_subreg_maybe_copy): New.
2004-12-01 Jeff Law <law@redhat.com>
- * tree-eh.c (save_eptr, save_filt): Now file scoped statics.
- (honor_protect_cleanup_actions): Only create save_eptr and
- save_filt if they do not already exist.
- (lower_eh_constructs): Wipe all knowledge of save_eptr and
- save_filt before returning.
+ * tree-eh.c (save_eptr, save_filt): Now file scoped statics.
+ (honor_protect_cleanup_actions): Only create save_eptr and
+ save_filt if they do not already exist.
+ (lower_eh_constructs): Wipe all knowledge of save_eptr and
+ save_filt before returning.
2004-12-02 Kazu Hirata <kazu@cs.umass.edu>