+2005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ PR target/19548
+ * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
+ (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
+ (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
+
+2005-01-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c/18809
+ * c-typeck.c (convert_arguments): Check for error_mark_node.
+
+2005-01-20 Ian Lance Taylor <ian@airs.com>
+
+ PR tree-optimization/13000
+ * tree-inline.c: Include "tree-flow.h".
+ (expand_call_inline): If warn_return_type, warn if non-void inline
+ function falls through.
+ * tree-cfg.c (execute_warn_function_return): Don't warn about
+ control reaching end if TREE_NO_WARNING is set. Set
+ TREE_NO_WARNING.
+ * gimple-low.c (block_may_fallthru): Don't assume that SWITCH_EXPR
+ has been lowered.
+ * gimplify.c (shortcut_cond_expr): Don't emit a jump over the else
+ branch if we don't need one.
+ * c-typeck.c: Include "tree-flow.h"
+ (c_finish_bc_stmt): Don't add a goto if the current statement
+ list doesn't fall through to the current point.
+
+2005-01-21 Roger Sayle <roger@eyesopen.com>
+
+ PR rtl-optimization/576
+ * real.c (real_arithmetic): Change return type from void to bool
+ to return an indication that the result may be inexact.
+ * real.h (real_arithmeric): Update prototype.
+ * fold-const.c (const_binop): Don't constant fold floating
+ point expressions when the user specifies -frounding-math and
+ the result may depend upon the run-time rounding mode.
+ (fold_convert_const_real_from_real): Clean-up.
+ (fold_initializer): Ignore flag_rounding_math for initializers.
+ * simplify-rtx.c (simplify_binary_operation): Likewise, don't
+ constant fold FP operations with flag_rounding_math if the
+ result may depend upon the run-time rounding mode.
+
+2005-01-21 Tom Tromey <tromey@redhat.com>
+
+ * c-cppbuiltin.c (define__GNUC__): Correct assertion.
+
+2005-01-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c: Fix comment typos.
+
+2005-01-21 J"orn Rennecke <joern.rennecke@st.com>
+
+ * passes.c (rest_of_handle_flow2): Close / open the flow2 dump file
+ around the call to rest_of_handle_branch_target_load_optimize.
+
+2005-01-21 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config.gcc (sparc-*-netbsdelf*): Include dbxelf.h
+ (sparc64-*-openbsd*): Likewise.
+ (sparclite-*-elf*): Include tm-dwarf2.h.
+ (sparc86x-*-elf*): Likewise.
+ (sparc64-*-elf*): Likewise.
+ * config/sparc/linux64.h (DWARF2_DEBUGGING_INFO): Delete.
+ (DBX_DEBUGGING_INFO): Likewise.
+ * config/sparc/liteelf.h (DWARF2_DEBUGGING_INFO): Likewise.
+ (PREFERRED_DEBUGGING_TYPE): Likewise.
+ * config/sparc/netbsd-elf.h (PREFERRED_DEBUGGING_TYPE): Likewise.
+ * config/sparc/sp64-elf.h (DBX_DEBUGGING_INFO): Likewise.
+ (PREFERRED_DEBUGGING_TYPE): Likewise.
+ * config/sparc/sp86x-elf.h (DWARF2_DEBUGGING_INFO): Likewise.
+ (PREFERRED_DEBUGGING_TYPE): Likewise.
+ * config/sparc/sparc.h (DBX_DEBUGGING_INFO): Likewise.
+
+2005-01-21 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/18701
+ * combine.c (combine_simplify_rtx): Revert change of 2004-12-31.
+
+2005-01-20 Paul Brook <paul@codesourcery.com>
+
+ * doc/rtl.texi: Document value extension requirements for CONST_INT.
+
+2005-01-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (tree_verify_flow_info): Check that a nonlocal
+ label is first in a sequence of labels.
+
+ * tree-cfg.c (tree_verify_flow_info): Fix a typo.
+
+2005-01-20 Janis Johnson <janis187@us.ibm.com>
+ Giovanni Bajo <giovannibajo@gcc.gnu.org>
+
+ * doc/sourcebuild.texi (Test Directives): New.
+
+2005-01-20 Roger Sayle <roger@eyesopen.com>
+
+ * real.c (real_floor): Don't leave the result uninitialized when
+ mode is VOIDMode, but return the unrounded intermediate value.
+ (real_ceil): Likewise.
+
+2005-01-20 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.md (insv): Use gen_int_mode.
+
+2005-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABELREF): Delete.
+ * config/sparc/linux.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ * config/sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ * config/sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+ * config/sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABELREF): Likewise.
+
+2005-01-20 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR debug/19124
+ * dwarf2out.c (concat_loc_descriptor): We don't know we can use
+ fbreg, so we have to assume we can't.
+ (loc_descriptor_from_tree_1): Ditto.
+ (containing_function_has_frame_base): New function.
+ (add_location_or_const_value_attribute): Use it.
+ Also try to generate a frame_base from a single element location
+ list.
+
+2005-01-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/15349
+ * timevar.def (TV_TREE_MERGE_PHI): New.
+ * tree-cfg.c (tree_forwarder_block_p): Add a new argument
+ PHI_WANTED.
+ (remove_forwarder_block, cleanup_forwarder_blocks): Adjust the
+ calls to tree_forwarder_block_p.
+ (remove_forwarder_block_with_phi, merge_phi_nodes,
+ gate_merge_phi, pass_merge_phi): New.
+ * tree-optimize.c (init_tree_optimization_passes): Add
+ pass_merge_phi.
+ * tree-pass.h: Add an extern for pass_merge_phi;
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ PR target/19418
+ * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
+ (_mm_castps_pd, _mm_castps_si128): New.
+ (_mm_castsi128_ps, _mm_castsi128_pd): New.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ PR target/19530
+ * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
+ __builtin_ia32_vec_init_v2si.
+ (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
+ * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
+ (ix86_init_mmx_sse_builtins): Create it.
+ (ix86_expand_builtin): Expand it.
+ (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
+ * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
+ (vec_extractv2si_0, vec_extractv2si_1): New.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ PR target/16533
+ * config/i386/i386.c (ix86_expand_push): New.
+ * config/i386/mmx.md (push<MMXMODE>1): New.
+ * config/i386/sse.md (push<SSEMODE>1): New.
+ * config/i386/i386-protos.h: Update.
+
+2005-01-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
+ copyright.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ * rtl.def (CONST_VECTOR): Use RTX_CONST_OBJ.
+ * rtl.h (CONSTANT_P): Don't special case CONST_VECTOR.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
+ PR target/19350
+ * config/i386/i386.c (ix86_expand_vector_move_misalign): Convert
+ to V4SFmode in SSE1 fallback load path.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_vector_init_one_var): Fix typo
+ in QImode expansion to ix86_expand_vector_set.
+ (ix86_expand_vector_init_general): Fix typo in V8HImode recursive call.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
+ PR target/19511
+ * config/i386/i386.c (ix86_preferred_reload_class): Return a proper
+ subclass of the input class.
+ (ix86_secondary_memory_needed): Always true for cross-MMX classes.
+ Always true for cross-SSE1 classes. Rationalize conditionals.
+ * config/i386/i386.h (SSE_CLASS_P, MMX_CLASS_P): Use straight equality.
+ * config/i386/i386.md (movsi_1): Add MMX/SSE zeros. Fix alternatives
+ for SSE1. Don't check TARGET_INTER_UNIT_MOVES.
+ (movdi_2): Add MMX/SSE zeros.
+ (movdi_1_rex64): Likewise. Don't check TARGET_INTER_UNIT_MOVES.
+ (movsf_1): Don't check TARGET_INTER_UNIT_MOVES.
+ (zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
+ (movsi_1_nointernunit, movdi_1_rex64_nointerunit): Remove.
+ (movsf_1_nointerunit, zero_extendsidi2_32_1): Remove.
+ (zero_extendsidi2_rex64_1): Remove.
+ (MOV0 peephole): Check GENERAL_REG_P.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
+ PR target/19427
+ * config/i386/i386.c (ix86_expand_vector_set): Fix third and fourth
+ shufps elements.
+ (ix86_expand_vector_extract): Likewise.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19304
+ * expr.c (emit_move_change_mode): New argument force; use
+ simplify_gen_subreg if true.
+ (emit_move_via_alt_mode): Merge into ...
+ (emit_move_via_integer): ... here.
+ (emit_move_ccmode): Use emit_move_change_mode directly.
+
+2005-01-19 Richard Henderson <rth@redhat.com>
+
+ PR target/19518
+ * config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
+ (alpha_preferred_reload_class): Handle CONST_VECTOR.
+ (alpha_emit_set_const_1): Add no_output parameter; don't emit
+ rtl if true.
+ (alpha_emit_set_const): Likewise. Make static.
+ (alpha_emit_set_long_const): Make static.
+ (alpha_extract_integer): Split out from alpha_expand_mov.
+ (alpha_split_const_mov): Likewise.
+ (alpha_expand_mov): Use them. Handle CONST_VECTOR.
+ (alpha_legitimate_constant_p): New.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
+ (LEGITIMATE_CONSTANT_P): Re-implement with a function.
+ * config/alpha/alpha.md (movsi): Add n alternative.
+ (movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
+ (mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
+ (splitters for all of the above): Use alpha_split_const_mov.
+ * config/alpha/predicates.md (non_add_const_operand): New.
+ (non_zero_const_operand): New.
+ (input_operand): Use alpha_legitimate_constant_p after reload.
+
+2005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/19038
+ * tree-ssa-loop-ivopts.c (allow_ip_end_pos_p): New function.
+ (add_candidate): Add ivs with increment in latch only if
+ allow_ip_end_pos_p is true.
+ (determine_iv_cost): Use empty_block_p.
+
+2005-01-19 Daniel Berlin <dberlin@dberlin.org>
+
+ * cfganal.c (compute_dominance_frontiers_1): Replace with new algorithm
+ (compute_dominance_frontiers): Ditto.
+
+2005-01-19 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ PR target/19529
+ * config/sh/t-rtems: New.
+ * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
+
+2005-01-19 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Always subtract
+ the offset of the selected field.
+
+2005-01-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (remove_forwarder_block): Fix the check to
+ prevent a nonlocal label from appearing in the middle of a
+ basic block.
+
+2005-01-19 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/19462
+ * reorg.c (find_end_label): Create return insn only if
+ current_function_epilogue_delay_list is empty.
+
+2005-01-19 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/passes.texi: Remove paragraph mentioning new-ra.
+
2005-01-19 Jakub Jelinek <jakub@redhat.com>
+ PR rtl-optimization/15139
+ * combine.c: Include params.h.
+ (count_rtxs): New function.
+ (record_value_for_reg): If replace_rtx would replace at least
+ 2 occurrences of REG in VALUE and TEM is really large, replace REG with
+ (clobber (const_int 0)) instead of TEM.
+ * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
+ * params.h (MAX_LAST_VALUE_RTL): New.
+ * Makefile.in (combine.o): Depend on $(PARAMS_H).
+ * doc/invoke.texi (--param max-last-value-rtl=N): Document.
+
PR c/17297
* c-typeck.c (digest_init): Only call build_vector if all constructor
elements are *_CST nodes.