+2005-01-30 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/19624
+
+ * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
+ * tree-ssa-pre.c: Add cfgloop.h.
+ Update comment.
+ (pre_stats): New member, constified.
+ (inserted_exprs): New static variable.
+ (NECESSARY): New macro.
+ (create_expression_by_pieces): Fold the expression, and
+ mark it as defaulting to not necessary. Also put in
+ inserted_exprs.
+ (fully_constant_expression): New function.
+ (insert_into_preds_of_block): Modify to not insert phis when we
+ are playing with induction variables.
+ Push phis onto the inserted_exprs vector, and mark them as not
+ necessary by default.
+ (insert_aux): Call fully_constant_expression on eprime.
+ If all edges produce the same value, mark it constant.
+ (mark_operand_necessary): New function.
+ (remove_dead_inserted_code): New function.
+ (init_pre): Init loop optimizer to get loop info.
+ (fini_pre): Free loop_optimizer, and inserted_exprs vec.
+ (execute_pre): Commit edge inserts, then remove dead code.
+
+2005-01-30 Richard Henderson <rth@redhat.com>
+
+ * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
+ * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
+
+2005-01-30 Richard Henderson <rth@redhat.com>
+
+ PR target/19700
+ * config/i386/i386.c (ix86_expand_copysign): New.
+ (ix86_split_copysign_const): New.
+ (ix86_split_copysign_var): Rename from ix86_split_copysign,
+ rearrange op1/nmask operands.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
+ (copysigndf3): Likewise.
+ (copysignsf3_const, copysigndf3_const): New.
+ (copysignsf3_var): Rename from copysignsf3, split out splitter
+ and fix split predicate for X constraint.
+ (copysigndf3_var): Similarly.
+
+2005-01-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
+ doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
+ doc/tm.texi, doc/tree-ssa.texi: Update copyright.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ PR target/19690
+ * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
+ of # and * in constraints.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19689
+ * expr.c (store_field): Don't strip sub-mode cast when the input
+ data is even smaller.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19687
+ * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
+ union being empty.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ * combine.c (make_field_assignment): Fix argument order
+ to gen_int_mode.
+
+2005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
+
+ PR tree-optimization/15791
+ * fold-const.c (extract_array_ref): New function.
+ (fold): Fold comparisons between &a[i] and &a[j] or
+ semantically equivalent trees.
+
+2005-01-29 Jeff Law <law@redhat.com>
+
+ * gcse.c (insert_expr_in_table): Revamp handling of available
+ and anticipatable occurrence lists to avoid unnecessary list
+ walking.
+ (insert_set_in_table): Similarly.
+
+2005-01-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.c (fix_string_type): Just use c_build_qualified_type to
+ build string type.
+ (c_build_qualified_type): Build qualified array types with
+ TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
+ * c-decl.c (c_make_fname_decl): Build unqualified array type
+ before qualified type.
+ (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
+ type is qualified, not just if type itself is. Don't apply
+ qualifiers to array type when declarator is processed. Apply
+ qualifiers to field type whether or not it is an array type.
+ Don't handle array types specially for applying qualifiers to
+ variables.
+ * c-typeck.c (composite_type): Build unqualified element type and
+ array type when forming composite of array types.
+ (common_pointer_type, comptypes, comp_target_types,
+ type_lists_compatible_p, build_indirect_ref, build_array_ref,
+ convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
+ types.
+ (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
+ (args2) in variables a1 and a2.
+
+2005-01-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (n_elements_made, max_elements_made): Remove.
+ (insert): Don't touch n_elements_made.
+ (cse_main): Don't touch n_elements_made or max_elements_made.
+
+2005-01-28 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR target/15384
+ * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
+ configuration part of dp-bit.c to be lost.
+
+2005-01-28 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (expand_mult_highpart_optab): When attempting to use
+ a non-widening multiplication in a wider mode, the operands need
+ to be converted (zero or sign extended) to that mode.
+
+2005-01-28 Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/16558
+ PR middle-end/19583
+ * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
+ through if both operands fall through.
+
+2005-01-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (fold_rtx) <PC>: Don't optimize.
+
+2005-01-28 Jeff Law <law@redhat.com>
+
+ * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
+ (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
+
+2005-01-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
+ cse_reg_info_used_list_end): Remove.
+ (cse_reg_info_list, cse_reg_info_list_free): New.
+ (get_cse_reg_info): When allocating an instance of
+ cse_reg_info, add it to the beginning of the cse_reg_info_list
+ list. Remove code to maintain cse_reg_info_used_list.
+ (new_basic_block): Reset the free list to the beginning of
+ cse_reg_info_list.
+
+2005-01-28 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
+ (frv_init_builtins): Change its prototype to take 4 uhalf arguments.
+ (frv_expand_mdpackh_builtin): New function.
+ (frv_expand_builtin): Use it to expand __MDPACKH.
+ * doc/extend.texi (__MDPACKH): Update documentation.
+
+2005-01-28 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
+ SSE_FLOAT_MODE_P for use_sse computation.
+
+2005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ PR target/19663
+ * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
+
+2005-01-27 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (expand_builtin_copysign): New.
+ (expand_builtin): Call it.
+ * genopinit.c (optabs): Add copysign_optab.
+ * optabs.c (init_optabs): Initialize it.
+ (expand_copysign): New.
+ * optabs.h (OTI_copysign, copysign_optab): New.
+ (expand_copysign): Declare.
+
+ * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
+ (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
+
+ * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
+ (ix86_expand_fp_absneg_operator): ... here.
+ (ix86_split_copysign): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (UNSPEC_COPYSIGN): New.
+ (copysignsf3, copysigndf3): New.
+
+ * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
+ (copysignsf3, ncopysignsf3): New.
+ (copysigndf3, ncopysigndf3): New.
+ (copysignxf3, ncopysignxf3): New.
+ * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
+
+2005-01-27 Arend Bayer <arend.bayer@web.de>
+ Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c: (find_best_addr): Don't call copy_rtx before calling
+ fold_rtx. Save cost recomputation if fold_rtx did nothing.
+ (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
+ NULL_RTX.
+
+2005-01-27 Jeff Law <law@redhat.com>
+
+ * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
+ definitions of SSA_NAMEs which are not being rewritten.
+ (rewrite_ssa_into_ssa): Only initialize the current definition
+ of an SSA_NAME if that SSA_NAME has been marked for rewriting.
+ If checking is enabled, assert that SSA_NAME_AUX is clear for all
+ SSA_NAMEs before returning.
+
+2005-01-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
+ cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
+ tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
+ config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
+ config/mips/iris6.h, config/sh/sh.c: Update copyright.
+
+2005-01-27 Steven Bosscher <stevenb@suse.de>
+
+ PR middle-end/17278
+ * opts.c (decode_options): Move flag_thread_jumps from -O1 and
+ higher to -O2 and higher. Likewise for tree PRE.
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
+ and better.
+
+2005-01-27 Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/19583
+ * gimple-low.c (try_catch_may_fallthru): New static function.
+ (block_may_fallthru): Handle TRY_CATCH_EXPR.
+ * tree-inline.c (expand_call_inline): Don't warn about reaching
+ the end of a non-void function being inlined if the function uses
+ a return slot.
+
+2005-01-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
+
+ PR c/18946
+ * c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
+ (pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
+ (implicitly_declare): Handle error_mark_node.
+
+2005-01-27 Richard Henderson <rth@redhat.com>
+
+ PR tree-opt/14329
+ * tree.h (struct tree_decl): Add debug_expr_is_from.
+ (DECL_DEBUG_EXPR_IS_FROM): New.
+ (DECL_DEBUG_EXPR): Rename from DECL_DEBUG_ALIAS_OF.
+ * dwarf2out.c (dwarf2out_var_location): Update to match.
+ * tree-outof-ssa.c (create_temp): Likewise.
+ * var-tracking.c (track_expr_p): Likewise.
+ * tree-sra.c (instantiate_element): Set DECL_DEBUG_EXPR.
+ * c-objc-common.c (c_tree_printer) <'D'>: Handle DECL_DEBUG_EXPR.
+ * toplev.c (default_tree_printer): Likewise.
+
+2005-01-27 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/frv/frv.c (frv_class_likely_spilled_p): Add GR8_REGS,
+ GR9_REGS, GR89_REGS, FDPIC_FPTR_REGS, FDPIC_REGS.
+
+2005-01-27 Steven Bosscher <stevenb@suse.de>
+
+ * tree.h (SWITCH_COND, SWITCH_BODY, SWITCH_LABELS, CASE_LOW,
+ CASE_HIGH, CASE_LABEL, ASM_STRING, ASM_OUTPUTS, ASM_INPUTS,
+ ASM_CLOBBERS): Add tree checks.
+
+ * c-common.h (SWITCH_TYPE): Rename to SWITCH_STMT_TYPE.
+ (SWITCH_STMT_COND, SWITCH_STMT_BODY): New.
+ * c-common.def (SWITCH_STMT): Update to match.
+ * c-common.c (c_do_switch_warnings): Use SWITCH_STMT accessor
+ macros instead of SWITCH_EXPR ones.
+ * c-dump.c (c_dump_tree): Likewise.
+ * c-gimplify.c (gimplify_switch_stmt): Likewise.
+ * c-typeck.c (c_start_case, do_case, c_finish_case): Likewise.
+
+ * doc/c-tree.texi (SWITCH_STMT): Update accessor macro names.
+
+2005-01-27 Alan Modra <amodra@bigpond.net.au>
+
+ * unwind-dw2.c (execute_stack_op): Add missing cases for
+ DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
+
+2005-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config.gcc (Obsolete configurations): Remove 'dummy', add
+ sparclite-*-coff*, sparclite-*-elf*, sparc86x-*-elf* and
+ sparc-*-openbsd*.
+
+2005-01-26 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/19633
+ * tree-ssa-alias.c (ptr_is_dereferenced_by): Also handle
+ CALL_EXPRs.
+ (maybe_create_global_var): Do not create .GLOBAL_VAR if there
+ are no call-clobbered variables.
+ * tree-outof-ssa.c (check_replaceable): Return false for calls
+ with side-effects.
+
+2005-01-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * dbxout.c (dbxout_symbol_location): Resolve constant pool references
+ even for variables with NULL DECL_INITIAL.
+
+2005-01-26 Stuart Hastings <stuart@apple.com>
+
+ * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
+
+2005-01-26 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/18008
+ * c-decl.c (finish_struct): Set DECL_MODE after resetting a
+ field's type.
+ * expr.c (store_field): Strip conversions to odd-bit-sized types
+ if the destination field width matches.
+
+2005-01-26 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c, expmed.c, expr.c: Revert last change.
+
+2005-01-26 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/18008
+ * c-decl.c (finish_struct): Set DECL_MODE after resetting a
+ field's type.
+ * expmed.c (store_fixed_bit_field): Create a paradoxical subreg
+ if we don't need the bits above those present in the current mode.
+ * expr.c (store_field): Strip conversions to odd-bit-sized types
+ if the destination field width matches.
+
+2005-01-26 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/iris6.h (ENDFILE_SPEC): Don't link in irix-csr.o if
+ either -ffast-math or -funsafe-math-optimizations is in use.
+
+2005-01-26 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ PR target/19293
+ PR target/19329
+ * config/avr/avr.c (notice_update_cc): Only set condition code for
+ ashrqi3 if shift count > 0.
+ (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
+ (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
+ ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
+ count <= 0 as a no-op, and shift count >= width by copying zero
+ or sign bit to all bits of the result.
+ * config/avr/avr.md (all shifts): Add alternatives for zero shift
+ count, with attribute "length" set to 0 and "cc" set to "none".
+
+2005-01-26 Aldy Hernandez <aldyh@redhat.com>
+
+ * doc/invoke.texi: Document -mTLS.
+
+ * testsuite/gcc.target/frv/all-tls-global-dynamic.c: New.
+ * testsuite/gcc.target/frv/all-tls-initial-exec.c: New.
+ * testsuite/gcc.target/frv/all-tls-initial-exec-pic.c: New.
+ * testsuite/gcc.target/frv/all-tls-local-dynamic.c: New.
+ * testsuite/gcc.target/frv/all-tls-local-dynamic-plt.c: New.
+ * testsuite/gcc.target/frv/all-tls-local-dynamic-plt-pic.c: New.
+ * testsuite/gcc.target/frv/all-tls-local-exec.c: New.
+ * testsuite/gcc.target/frv/all-tls-local-exec-TLS.c: New.
+
+ * configure.ac: Check for a TLS capable gas.
+
+ * configure: Regenerate.
+
+2005-01-26 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/18008
+ * combine.c (make_field_assignment): Simplify store to zero_extract
+ from a source with an overlapping mask.
+
+2005-01-26 Aldy Hernandez <aldyh@redhat.com>
+
+ 2004-11-11 Eric Christopher <echristo@redhat.com>
+
+ * config/frv/frv.md: Add fr400_integer automaton. Don't
+ allow TYPE_MUL, TYPE_MACC, or TYPE_CUT to issue in parallel
+ to TYPE_MACC.
+
+2005-01-26 Steven Bosscher <stevenb@suse.de>
+
+ PR middle-end/16585
+ * cfgbuild.c (make_edges): Do not clear or set
+ current_function_has_computed_jump.
+ * function.h (struct function): Remove the has_computed_jump field.
+ (current_function_has_computed_jump): Do not define.
+ * sched-rgn.c (is_cfg_nonregular): Return true if a basic block ends
+ in a computed jump. Ignore current_function_has_computed_jump.
+
+2005-01-26 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19515
+ * expr.c (categorize_ctor_elements): New argument p_must_clear.
+ (categorize_ctor_elements_1): Likewise. Detect a union that isn't
+ fully initialized.
+ (mostly_zeros_p): Update for new categorize_ctor_elements argument.
+ * gimplify.c (gimplify_init_constructor): Likewise. Only shove
+ objects into static storage if they have more than one non-zero value.
+ * tree.h (categorize_ctor_elements): Update decl.
+
+2005-01-26 Steven Bosscher <stevenb@suse.de>
+
+ PR middle-end/19616
+ * tree.h (CALL_EXPR_TAILCALL): Add comment.
+ * calls.c (check_sibcall_argument_overlap_1): Revert the change
+ to this function from 2004-07-10.
+ * tree-tailcall.c (suitable_for_tail_opt_p): Do not consider the
+ the current function for tail call optimizations if the address
+ of one of it its arguments is taken.
+
+2005-01-26 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (fold_rtx): Call equiv_constant only when necessary.
+
+2005-01-26 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * function.c (expand_function_end): If current_function_calls_alloca,
+ emit stack restore in a place that is reached when the function falls
+ through at the end.
+
+2005-01-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * Makefile.in (../$(build_subdir)/fixincludes/fixincl): Add dummy
+ rule to avoid matching inappropriate suffix rule.
+
+2005-01-26 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/19241
+ * tree-inline.c (copy_body_r): Do not walk subtrees after substituting.
+
+2005-01-26 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (LIB_SPEC) <sim*>: Use -lsyslinux, not
+ -lsyssim. Wrap -lc -lsyssim in --start-group --end-group instead
+ of doubling.
+ (STARTFILE_SPEC): Add crti.o, before crtbegin.o.
+ <sim*>: Always use crt1.o, regardless of N in simN.
+ <!sim>: Drop support for -pg and -p variants; always use crt0.o.
+ (ENDFILE_SPEC): Add crtn.o, after crtend.o.
+ (CRT_CALL_STATIC_FUNCTION): Remove.
+ * config/cris/aout.h (STARTFILE_SPEC): <!melinux && sim*>: Always
+ use crt1.o, regardless of N in simN.
+ <!sim>: Drop support for -pg and -p variants; always use crt0.o.
+ (LIB_SPEC): Do not define; default to the one in config/cris/cris.h.
+ (CRIS_CPP_SUBTARGET_SPEC) <melinux && !nostdinc>: Remove special
+ case isystem setting.
+ (MAX_OFILE_ALIGNMENT): Correct to 32, not 16.
+
+2005-01-25 Ian Lance Taylor <ian@airs.com>
+
+ * gimple-low.c (block_may_fallthru): Correct handling of
+ SWITCH_EXPR--may fall through if SWITCH_LABELS is NULL.
+
+2005-01-26 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.h (CPP_SPEC): Adjust the various mtune=
+ handlers to match indentation; nested under the mtune=* handler.
+ Similar for mcpu= and march=.
+
+2005-01-25 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/mips/linux.h (LIB_SPEC): Remove -rpath-link.
+ * config/mips/linux64.h (LIB_SPEC): Likewise.
+ * config/mn10300/linux.h (LIB_SPEC): Likewise.
+ * config/sh/linux.h (LIB_SPEC): Likewise.
+
+2005-01-25 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/frv/frv.c (frv_legitimize_tls_address): New.
+ (TARGET_HAVE_TLS): Define.
+ (FRV_SYMBOL_REF_TLS_P): Define.
+ (frv_override_options): Handle new register classes.
+ (frv_legitimate_address_p): Reject tls addresses.
+ (frv_legitimize_address): Handle TLS addresses.
+ (gen_inlined_tls_plt): New.
+ (gen_tlsmoff): New.
+ (frv_legitimize_tls_address): New.
+ (unspec_got_name): Add TLS entries.
+ (got12_operand): Add R_FRV_TLSMOFF12 case.
+ (frv_emit_move): Fixup TLS addresses.
+ (frv_emit_movsi): Legitimize TLS addresses.
+
+ * config/frv/frv.h (MASK_BIG_TLS): New.
+ (TARGET_BIG_TLS): New.
+ (HAVE_AS_TLS): Define.
+ (TARGET_SWITCHES): Add -mTLS and -mtls options.
+ (enum reg_class): Add GR8_REGS, GR9_REGS, GR89_REGS.
+ (REG_CLASS_NAMES): Same.
+ (REG_CLASS_CONTENTS): Same.
+ (CONSTRAINT_LEN): New.
+ (REG_CLASS_FROM_CONSTRAINT): New.
+ (PREDICATE_CODES): Add symbolic_operand.
+
+ * config/frv/frv.md (define_constants): Add UNSPEC_GETTLSOFF,
+ UNSPEC_TLS_LOAD_GOTTLSOFF12, UNSPEC_TLS_INDIRECT_CALL,
+ UNSPEC_TLS_TLSDESC_LDD, UNSPEC_TLS_TLSDESC_LDD_AUX,
+ UNSPEC_TLS_TLSOFF_LD, UNSPEC_TLS_LDDI, UNSPEC_TLSOFF_HILO,
+ R_FRV_GOTTLSOFF_HI, R_FRV_GOTTLSOFF_LO, R_FRV_TLSMOFFHI,
+ R_FRV_TLSMOFFLO, R_FRV_TLSMOFF12, R_FRV_TLSDESCHI,
+ R_FRV_TLSDESCLO, R_FRV_GOTTLSDESCHI, R_FRV_GOTTLSDESCLO, GR8_REG,
+ GR9_REG, GR14_REG, LRREG.
+ (type): Add load_or_call attribute.
+ ("load_or_call"): New reservation.
+ ("call_gettlsoff"): New.
+ ("tls_indirect_call"): New.
+ ("tls_load_gottlsoff12"): New.
+ ("tlsoff_hilo"): New.
+ ("tls_tlsdesc_ldd"): New.
+ ("tls_tlsoff_ld"): New.
+ ("tls_lddi"): New.
+
+ * config/frv/frv-protos.h (symbolic_operand): Protoize.
+
+ 2005-01-25 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Define.
+ * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Declare.
+ * config/frv/frv.c (TLS_BIAS): Define.
+ (frv_output_dwarf_dtprel): New.
+
+2005-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/19579
+ * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
+ both A and B, see if they don't clobber registers the other expr uses.
+
+2005-01-25 J"orn Rennecke <joern.rennecke@st.com>
+
+ * real.c (do_add): Initialize signalling and canonical members.
+
+ * real.c (real_from_integer): Zero out destination.
+
+2005-01-18 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/19337
+ * tree-inline.c (initialize_inlined_parameters): Copy
+ saved_static_chain_decl only.
+
+2005-01-25 Richard Henderson <rth@redhat.com>
+
+ PR target/19556
+ PR target/19584
+ * config/i386/i386.c (x86_inter_unit_moves): Zero.
+ (ix86_preferred_reload_class): Rewrite fp-constant section, with
+ 80387 enabled, to return a proper subclass. Return the subset that
+ overlaps with GENERAL_REGS for PLUS.
+ * config/i386/i386.md (movsi_1, movdi_2): Set type to "mmx" for pxor.
+
+2005-01-25 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19609
+ * tree-complex.c (expand_complex_div_wide): Use the correct formulae.
+
+2005-01-25 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (choose_multiplier): Change interface to return the
+ multiplier lowpart as an rtx instead of an unsigned HOST_WIDE_INT.
+ (expand_divmod): Update calls to choose_multiplier.
+
+2005-01-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/19330
+ * expmed.c (extract_bit_field): Use adjust_address instead of
+ gen_lowpart when op0 is a MEM.
+
+2005-01-24 Steven Bosscher <stevenb@suse.de>
+
+ * cfgexpand.c (expand_gimple_tailcall): Fix typo.
+
+2005-01-24 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/irix-csr.c: New file.
+ * config/mips/t-iris6 (irix-csr.o): New rule to build it.
+ (EXTRA_MULTILIB_PARTS): Add irix-csr.o.
+ * config/mips/iris6.h (ENDFILE_SPEC): Include it in n32 and n64
+ executables.
+
+2005-01-24 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR bootstrap/19364
+ * config.gcc (sparc-*-elf*): Remove sol2.h, sparc/sol2.h and
+ sparc/elf.h, add sparc/sp-elf.h.
+ (sparc-*-rtems*): Likewise.
+ (sparclite-*-elf*): Remove sol2.h, sparc/sol2.h, sparc/elf.h and
+ tm-dwarf2.h, add sparc/sp-elf.h.
+ (sparc86x-*-elf): Likewise.
+ (sparc64-*-elf*): Remove sol2.h, sparc/sol2.h and tm-dwarf2.h.
+ * config/sparc/liteelf.h (TARGET_SUB_OS_CPP_BUILTINS): Rename into
+ TARGET_OS_CPP_BUILTINS.
+ * config/sparc/sp86x-elf (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ * config/sparc/rtemself.h (TARGET_SUB_OS_CPP_BUILTINS): Likewise.
+ Undefine it.
+ * config/sparc/openbsd64.h (NO_IMPLICIT_EXTERN_C): Undefine.
+ * config/sparc/sp64-elf.h (NO_IMPLICIT_EXTERN_C): New macro.
+ (SWITCH_TAKES_ARG): Likewise.
+ (LOCAL_LABEL_PREFIX): Likewise.
+ (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+ (TARGET_N_FORMAT_TYPES): Delete.
+ (TARGET_FORMAT_TYPES): Likewise.
+ (ASM_DECLARE_FUNCTION_SIZE): Likewise.
+ * config/sparc/elf.h: Delete.
+ * config/sparc/sp-elf.h: New file.
+
+2005-01-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-flow-inline.h (phi_arg_from_edge): Remove.
+ * tree-flow.h: Remove the corresponding prototype.
+ * tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-ssa.c,
+ tree-vectorizer.c: Use dest_idx instead of phi_arg_from_edge.
+
+2005-01-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/17751
+ * config/rs6000/rs6000.c (rs6000_file_start): Create toc section
+ for AIX ABI or ELF -fPIC.
+ (rs6000_emit_load_toc_table): Don't create toc_section here.
+ (rs6000_xcoff_file_start): Nor here.
+
+2005-01-24 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (ra.h): Don't #include.
+ (hard_regs_intersect_p): New function, resurrected from ra.c.
+
+ * sh.c: Fix 1996 Copyright.
+
+2005-01-24 Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ * regrename.c (note_sets): Handle subregs.
+
+2005-01-24 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR bootstrap/18058
+ * genconditions.c (write_header, write_conditions): Elide file if
+ not GCC >= 3.0.1.
+
+2005-01-24 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-opts.c, expmed.c, gengtype.c, tree-complex.c,
+ config/arm/iwmmxt.md, config/avr/avr.c, config/s390/s390.h:
+ Update copyright.
+
+2005-01-24 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (get_pointer_alignment, gimplify_va_arg_expr,
+ expand_builtin_printf, expand_builtin_fprintf,
+ expand_builtin_sprintf): Use POINTER_TYPE_P instead TREE_CODE
+ checking against POINTER_TYPE.
+ (validate_arglist): Handle POINTER_TYPE code by checking
+ POINTER_TYPE_P.
+
+2005-01-24 Paolo Bonzini <bonzini@gnu.org>
+
+ * rtlanal.c (non_rtx_starting_operands, for_each_rtx_1,
+ init_rtlanal): New.
+ (for_each_rtx): Call for_each_rtx_1.
+ * rtl.h (init_rtlanal): Declare.
+ * toplev.c (backend_init): Call init_rtlanal.
+
+2005-01-24 Jakub Jelinek <jakub@redhat.com>
+
+ * flow.c (propagate_one_insn): Formatting.
+
+ PR middle-end/19551
+ * flow.c (libcall_dead_p): Be more conservative if unsure.
+ If there are any instructions between insn and call, see if they are
+ all dead before saying the libcall is dead.
+
+2005-01-24 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (*extendsfdf2_sse): Use "nonimmediate_operand"
+ operand constraint for operand 0.
+
+2005-01-23 Richard Henderson <rth@redhat.com>
+
+ PR 19486
+ * tree-complex.c (expand_complex_div_wide): Set EDGE_FALLTHRU on
+ edges leading to join block.
+
+2005-01-23 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (expand_mult_highpart): Make static. Change type of
+ constant multiplier argument from unsigned HOST_WIDE_INT to rtx.
+ (expand_divmod): Updates calls to expand_mult_highpart by using
+ gen_int_mode to pass a CONST_INT rtx.
+ * rtl.h (expand_mult_highpart): Remove prototype.
+
+2005-01-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * flow.c (regset_bytes, regset_size): Remove.
+
+ * cfganal.c: Fix a reference to Harvey's paper.
+
+2005-01-23 Steven Bosscher <stevenb@suse.de>
+
+ PR rtl-optimization/19464
+ * tree-optimize.c (init_tree_optimization_passes): Add one more
+ copyrename pass just before out-of-ssa.
+
+2005-01-23 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR bootstrap/18058
+ * recog.c (recog_memoized): Don't define if GENERATOR_FILE.
+ * ggc-none.c (ggc_free): Define.
+
+2005-01-23 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (max_reg, max_insn_uid): Remove.
+ (cse_main): Don't access max_reg or max_insn_uid.
+
+ * c-common.c (explicit_flag_signed_bitfields,
+ lang_statement_code_p, lang_expand_function_end): Remove.
+ * c-common.h: Remove the corresponding declarations.
+ * c-opts.c (c_common_handle_option): Remove all write access
+ to explicit_flag_signed_bitfields.
+
+ * cgraph.c (cgraph_varpool_n_nodes): Remove.
+ (cgraph_varpool_node): Don't access cgraph_varpool_n_nodes.
+ * cgraph.h: Remove the corresponding declaration.
+
+ * gcse.c (null_pointer_info): Remove.
+
+2005-01-23 Roger Sayle <roger@eyesopen.com>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * combine.c (simplify_logical): Only simplify logical expressions
+ of the form ior(and(x,y),z) by the inverse distributive law if the
+ result is cheaper than the original.
+
2005-01-23 Kazu Hirata <kazu@cs.umass.edu>
* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c,
first label to see if it is a nonlocal label.
2005-01-22 David Edelsohn <edelsohn@gnu.org>
- Andrew Pinski <pinskia@physics.uc.edu>
+ Andrew Pinski <pinskia@physics.uc.edu>
PR target/19491
* config/rs6000/rs6000.c (rs6000_va_start): Saturate n_gpr at
2004-01-05 Uros Bizjak <uros@kss-loka.si>
* doc/invoke.texi (Intel 386 and AMD x86-64 Options):
- Replace i387 with 'i386 compiler' in -mfpmath=sse option.
+ Replace i387 with 'i386 compiler' in -mfpmath=sse option.
2005-01-04 Roger Sayle <roger@eyesopen.com>