+2004-12-10 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (legitimate_address_p): Reject address
+ whose index is itself the sum of two other parts.
+
+2004-12-10 Alan Modra <amodra@bigpond.net.au>
+
+ * config/t-slibgcc-sld (SHLIB_LINK): Correct symlink.
+
+2004-12-10 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (*cmpfp_sf): Change type attribute to "multi".
+
+2004-12-09 Richard Henderson <rth@redhat.com>
+
+ PR c/18282
+ * attribs.c (decl_attributes): Use relayout_decl.
+ * c-common.c (handle_mode_attribute): Copy all relevant type
+ parameters from the new underlying integral type.
+
+2004-12-09 Richard Henderson <rth@redhat.com>
+
+ * c-common.c (shorten_compare): Don't special-case min/maxval
+ for C enumerations.
+
+2004-12-09 Richard Sandiford <rsandifo@redhat.com>
+
+ * simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
+ the request subreg is entirely contained in the requested component.
+ (simplify_gen_subreg): Return null for CONCATs that are rejected
+ by simplify_subreg.
+ * expmed.c (store_bit_field): Create a temporary when changing the
+ value to an integer mode.
+
+2004-12-09 David Edelsohn <edelsohn@gnu.org>
+
+ * real.c (ibm_extended): Correct comment.
+
+2004-12-09 Stan Shebs <shebs@apple.com>
+
+ * config/rs6000/darwin-asm.h: New file, 32/64-bit assembly macros
+ formerly in darwin-tramp.asm.
+ * config/rs6000/darwin-tramp.asm: Include darwin-asm.h.
+ * config/rs6000/darwin-fpsave.asm: Use 32/64-bit macros.
+ * config/rs6000/t-darwin: Add dependencies.
+
+2004-12-09 Richard Henderson <rth@redhat.com>
+
+ PR target/17025
+ * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
+ (test_qi_1, andqi_2): Do not promote to simode.
+
+2004-12-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/18904
+ * tree-chrec.c (chrec_convert): Use fold_convert
+ instead of convert.
+
+2004-12-09 Matt Rice <ratmice@yahoo.com>
+
+ PR preprocessor/18102
+ * c-incpath.c (remove_duplicates): Check for construct
+ equality.
+
+2004-12-09 Dorit Naishlos <dorit@il.ibm.com>
+
+ * genopinit.c (vec_realign_store_optab): Initialization removed.
+ * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
+ * optabs.h (optab_index): OTI_vec_realign_store Removed.
+ (vec_realign_store_optab): Removed.
+ * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
+ * target.h (builtin_mask_for_store): Removed.
+ * tree.def (REALIGN_STORE_EXPR): Removed.
+ * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
+ (altivec_builtin_mask_for_store): Removed.
+ (altivec_init_builtins): Removed initialization of
+ altivec_builtin_mask_for_store.
+
+ * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
+ (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
+
+2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.def (SET_TYPE): Remove.
+ (CONSTRUCTOR): Update description.
+ * builtins.c (type_to_class) Remove SET_TYPE case.
+ * dbxout.c (dbxout_type): Likewise.
+ * dwarf2out.c (is_base_type): Likewise.
+ (gen_set_type_die): Remove.
+ (gen_type_die): Remove SET_TYPE case.
+ * expr.c (count_type_elements): Likewise.
+ (mostly_zeroes_p): Likewise.
+ (store_constructor): Likewise.
+ * print_tree.c (print_node): Likewise.
+ * stor-layout.c (layout_type): Likewise.
+ * tree-browser.c (browse_tree): Likewise.
+ * tree-inline.c (remap_type): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ * tree.c (type_contains_plaeholder_1, type_hash_eq,
+ variably_modified_type_p, initializer_zerop): Likewise.
+ * tree.h (SET_OR_ARRAY_CHECK): Remove.
+ (AGGREGATE_TYPE_P): Remove SET_TYPE check.
+ (TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
+ * typeclass.h (enum type_class): Remove set_type_class.
+ * varasm.c (const_hash_1): Remove SET_TYPE case.
+ (compare_constant, copy_constant, output_constant): Likewise.
+ * config/i386/i386.c (classify_argument): Likewise.
+ * config/ia64/ia64.c (hfa_element_mode): Likewise.
+ * config/sparc/sparc.c (sparc_type_code): Likewise.
+
+ PR c++/16681
+ * tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
+
+2004-12-08 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md: Use FLAGS_REG everywhere.
+
+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