OSDN Git Service

PR tree-optimization/17549
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7591aec..d86daf4 100644 (file)
@@ -1,3 +1,894 @@
+2005-02-10  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/17549
+       * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
+       TER to replace a DEF with its expression if the DEF and the
+       rhs of the expression we replace into have the same root
+       variable.
+
+2005-02-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Fix the placement of the match_scratch in the
+       lea64 peephole2.
+
+2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
+       Fix comment typos.
+
+2005-02-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
+       (strip_offset): Handle addresses.
+       (add_address_candidates): Use strip_offset.
+       (difference_cost): Reflect strip_offset change.
+       (force_var_cost, difference_cost): Strip nops.
+
+2005-02-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
+
+       * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
+       tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
+       config/cris/cris-protos.h, config/cris/cris.c: Update
+       copyright.
+
+2005-02-10  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
+       (lookup_avail_expr): Similarly.
+
+2005-02-10  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * builtins.c (fold_builtin_powi): New function.
+       (fold_builtin_1): Call it.
+
+2005-02-10  Steven Bosscher  <stevenb@suse.de>
+
+       PR documentation/19309
+       * doc/cpp.texi: The __GNUC__ and related predefined macros
+       are also defined for the "standalone" cpp.
+       Some non-GCC compilers may also define __GNUC__.
+
+2005-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/19342
+       * c-typeck.c (common_type): New routine.  Old common_type renamed
+       to...
+       (c_common_type): ...this.
+       (build_conditional_expr, build_binary_op): Use c_common_type instead
+       of common_type.
+
+2005-02-10  Steven Bosscher  <stevenb@suse.de>
+
+       * doc/md.texi: Replace @samp{length} with @code{length}.
+
+2005-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/18687
+       * tree-flow.h (find_loop_niter): Declare.
+       * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
+       Try using scev even for loops with more than one exit.
+       * tree-ssa-loop-ivopts.c (struct loop_data): Removed niter field.
+       (struct ivopts_data): Added niters field.
+       (struct nfe_cache_elt): New.
+       (nfe_hash, nfe_eq, niter_for_exit, niter_for_single_dom_exit): New
+       functions.
+       (tree_ssa_iv_optimize_init): Initialize niters cache.
+       (determine_number_of_iterations): Removed.
+       (find_induction_variables): Do not call determine_number_of_iterations.
+       Access niters for single exit through niter_for_single_dom_exit.
+       (add_iv_outer_candidates): Access niters for single exit through
+       niter_for_single_dom_exit.
+       (may_eliminate_iv): Take data argument.  Use niter_for_exit.  Do not use
+       number_of_iterations_cond.
+       (iv_period): New function.
+       (determine_use_iv_cost_condition): Pass data to may_eliminate_iv.
+       (may_replace_final_value): Take data argument.  Use
+       niter_for_single_dom_exit.
+       (determine_use_iv_cost_outer): Pass data to may_replace_final_value.
+       (rewrite_use_compare): Pass data to may_eliminate_iv.
+       (rewrite_use_outer): Pass data to may_replace_final_value.
+       (free_loop_data): Clean up the niters cache.
+       (tree_ssa_iv_optimize_finalize): Free the niters cache.
+       (tree_ssa_iv_optimize_loop): Do not call loop_commit_inserts.
+       * tree-ssa-loop-niter.c (find_loop_niter): New function.
+       (find_loop_niter_by_eval): Use tree_int_cst_lt.
+       (num_ending_zeros): Moved to tree.c.
+       * tree.h (num_ending_zeros): Declare.
+       * tree.c (num_ending_zeros): Moved from tree.c.
+
+2005-02-09  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (DEF_BUILTIN): Add COND argument.
+       * tree.h (DEF_BUILTIN): Likewise.
+       * builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
+       DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
+       match.
+       (DEF_BUILTIN_STUB): New.
+       (BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
+       BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
+       BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
+       * c-common.c (DEF_BUILTIN): Add COND argument.
+       * tree.c (local_define_builtin): New.
+       (build_common_builtin_nodes): New.
+
+2005-02-09  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_strip_sign_ops): New function to simplify a
+       floating point expression ignoring the sign of the result.
+       (fold) <ABS_EXPR>: Use it to simplify fabs(x).
+       (fold) <MULT_EXPR>: Use it to simplify x*x.
+       * tree.h (fold_strip_sign_ops): Prototype here.
+       * builtins.c (fold_builtin_copysign): Take an additional FNDECL
+       argument.  Use fold_strip_sign_ops to simplify the first argument.
+       (fold_builtin_pow):  Use fold_strip_sign_ops to simplify the
+       first argument when the second argument is an even integer
+       constant, but only with -funsafe_math_optimizations.
+       (fold_builtin_1): Update call to fold_builtin_copysign.
+
+2005-02-09  Ian Lance Taylor  <ian@airs.com>
+
+       PR middle-end/19583
+       * gimple-low.c (try_catch_may_fallthru): In EH_FILTER_EXPR case,
+       just check whether EH_FILTER_FAILURE falls through.
+
+2005-02-09  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * gcc/haifa-sched.c (schedule_block): Make queued sched group
+       insns return to ready list in the next turn.
+
+2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR middle-end/19402
+       * builtins.def: New __builtin_powi[lf].
+       * builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
+       (expand_builtin_powi): New function.
+       (expand_builtin): Dispatch to expand_builtin_powi.
+       * libgcc2.h: Add prototypes for __builtin_powi[lf].
+       * libgcc2.c: Add __builtin_powi[lf] implementation.
+       * mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
+       * optabs.h: Add powi_optab.
+       * optabs.c (init_optabs): Initialize powi_optab.
+       * doc/extend.texi: Document __builtin_powi[lf].
+
+2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file 
+       exists.
+
+2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR middle-end/19854
+       * fold-const.c (try_move_mult_to_index): Remove redundant
+       type argument.  Create ADDR_EXPR with correct type.
+       (fold): Update callers of try_move_mult_to_index.  Convert
+       result to the appropriate type.
+
+2005-02-09  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/19597
+       * config/avr/avr.c (default_rtx_costs): Delete.
+       (avr_operand_rtx_cost): New function.
+       (avr_rtx_costs): Completely rewrite.
+
+2005-02-08  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/19806
+       * config/cris/cris.c (in_code): New variable.
+       (cris_output_addr_const): Now a static function, a wrapper for
+       output_addr_const.
+       (cris_asm_output_symbol_ref): New function, broken out SYMBOL_REF
+       case from old cris_output_addr_const.
+       (cris_asm_output_label_ref): Similar for LABEL_REF.
+       (cris_output_addr_const_extra): Similar for UNSPEC.
+       * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA)
+       (ASM_OUTPUT_SYMBOL_REF, ASM_OUTPUT_LABEL_REF): Define.
+       * config/cris/cris-protos.h (cris_output_addr_const): Remove
+       declaration.
+       (cris_asm_output_symbol_ref, cris_output_addr_const_extra)
+       (cris_asm_output_label_ref): Declare.
+
+2005-02-08  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR preprocessor/19801
+       * doc/cppinternals.texi (Conventions, Lexer, Files): Adjust
+       filenames that changed when libcpp was moved to the toplevel.
+
+2005-02-07  Roger Sayle  <roger@eyesopen.com>
+
+       * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
+       zero extensions of BImode operands.  Call lowpart_subreg instead
+       of gen_lowpart_common and gen_lowpart_SUBREG.
+
+2005-02-07  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       PR ada/19489
+       * libada-mk.in: Use cc_for_cross_gnattools, not cc_set_by_configure.
+       * configure.ac: Set cc_for_cross_gnattools.
+       * configure: Regenerate.
+
+2005-02-08  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/19803
+       * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
+
+2005-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR debug/19327
+       * dbxout.c (dbxout_symbol) <FUNCTION_DECL>: Skip inline instance
+       of nested functions.
+
+2005-02-07  Jonathan Wakely  <redi@gcc.gnu.org>
+
+       * doc/extend.texi: Document deprecated extensions allowing
+       static floating-point members to have initializers and allowing
+       floating-point literals in integral constant expressions.
+
+2005-02-07  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgcleanup.c, df.h, diagnostic.c, rtl.c, tree-vectorizer.h,
+       config/darwin7.h, config/mips/mips.c,
+       config/rs6000/altivec.md, config/rs6000/darwin-tramp.asm:
+       Update copyright.
+
+       * cse.c: Update comments.
+
+2005-02-07  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR middle-end/19775
+       * builtins.c (fold_builtin_sqrt): Transform
+       sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
+       pow(x,y*0.5).
+
+2005-02-07  Leehod Baruch  <leehod@il.ibm.com>
+           Dorit Naishlos  <dorit@il.ibm.com>
+
+       * doc/invoke.texi (ftree-vectorizer-verbose): New.
+       * opts.c (OPT_ftree_vectorizer_verbose_): New case for switch.
+       * common.opt (ftree-vectorizer-verbose): New Flag for the vectorizer
+       was added.
+       * tree.h (vect_set_verbosity_level): New extern function declaration
+       added.
+       * tree-vectorizer.h (verbosity_levels): New enum type.
+       * tree-vectorizer.c (vect_debug_stats): Function removed.
+       (vect_debug_details): Likewise.
+       (vect_verbosity_level): Global variable was defined and initialized.
+       (vect_dump): Global variable definition.
+       (vect_print_dump_info): New function.
+       (vect_set_dump_settings): New function.
+       (vect_set_verbosity_level): New function.
+       (vectorize_loops): Add call to vect_set_dump_settings.
+
+       (slpeel_make_loop_iterate_ntimes): Dump condition was changed.
+       (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+
+       (vect_analyze_offset_expr): Call to vect_print_dump_info with
+       appropriate verbosity level instead of call to vect_debug_details 
+       or vect_debug_stats. 
+       (vect_get_base_and_offset):
+       (vect_create_addr_base_for_vector_ref):
+       (get_vectype_for_scalar_type):
+       (vect_create_data_ref_ptr):
+       (vect_init_vector):
+       (vect_get_vec_def_for_operand):
+       (vect_finish_stmt_generation):
+       (vectorizable_assignment):
+       (vectorizable_operation):
+       (vectorizable_store):
+       (vectorizable_load):
+       (vect_transform_stmt):
+       (vect_update_ivs_after_vectorizer):
+       (vect_do_peeling_for_loop_bound):
+       (vect_update_inits_of_drs):
+       (vect_do_peeling_for_alignment):
+       (vect_transform_loop):
+       (vect_is_simple_use):
+       (vect_analyze_operations):
+       (vect_is_simple_iv_evolution):
+       (vect_analyze_scalar_cycles):
+       (vect_analyze_data_ref_dependence):
+       (vect_analyze_data_ref_dependences):
+       (vect_compute_data_ref_alignment):
+       (vect_enhance_data_refs_alignment):
+       (vect_analyze_data_refs_alignment):
+       (vect_analyze_data_ref_access):
+       (vect_analyze_data_ref_accesses):
+       (vect_analyze_pointer_ref_access):
+       (vect_get_memtag_and_dr):
+       (vect_analyze_data_refs):
+       (vect_mark_relevant):
+       (vect_stmt_relevant_p):
+       (vect_mark_stmts_to_be_vectorized):
+       (vect_can_advance_ivs_p):
+       (vect_get_loop_niters):
+       (vect_analyze_loop_form):
+       (vect_analyze_loop):
+       (vectorize_loops): Likewise.
+
+       (vect_do_peeling_for_loop_bound): Dump format slightly changed.
+       (vect_update_inits_of_drs):
+       (vect_do_peeling_for_alignment):
+       (vect_transform_loop):
+       (vect_analyze_operations):
+       (vect_analyze_scalar_cycles):
+       (vect_analyze_data_ref_dependences):
+       (vect_analyze_data_refs_alignment):
+       (vect_analyze_data_ref_accesses):
+       (vect_analyze_data_refs):
+       (vect_mark_stmts_to_be_vectorized):
+       (vect_get_loop_niters):
+       (vect_analyze_loop_form):
+       (vect_analyze_loop): Likewise. 
+       (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
+
+2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR bootstrap/19796
+       Revert:
+       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-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-02-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mn10300/linux.h (LIB_SPEC, STARTFILE_SPEC): Remove
+       redundant, incorrect definitions.
+
+       * config/frv/frv.md ("tls_indirect_call"): Turn into libcall-like
+       expand.
+       ("*tls_indirect_call"): New, reference hard regs directly.
+       * config/frv/frv.c (gen_inlined_tls_plt): Adjust.
+
+2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): 
+       Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
+
+2005-02-06  Roger Sayle  <roger@eyesopen.com>
+
+       PR rtl-optimization/19800
+       * simplify_rtx.c (simplify_relational_operation_1): Explicitly
+       call gen_lowpart_common and gen_lowpart_SUBREG instead of calling
+       gen_lowpart.
+
+2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
+
+2005-02-07  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR other/17135
+       * doc/invoke.texi: Correct documentation of -freorder-functions.
+
+2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR other/14402
+       * doc/invoke.texi: Don't mention gccbug.
+
+2005-02-06  Roger Sayle  <roger@eyesopen.com>
+           Andrew Pinski  <pinskia@physics.uc.edu>
+           Paolo Bonzini  <paolo.bonzini@lu.unisi.ch>
+
+       * simplify-rtx.c (simplify_relational_operation_1): Simplify
+       (ne:SI (zero_extract:SI FOO (const_int 1) BAR) (const_int 0))
+       into just (zero_extract:SI FOO (const_int 1) BAR).
+
+2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * doc/cpp.texi: Include gcc-common.texi.  Don't define gcctabopt
+       macro locally.  Don't give last revision date.  Use GCC version
+       number from gcc-common.texi.
+       * doc/cppinternals.texi: Include gcc-common.texi.  Don't give last
+       revision date.  Use GCC version number from gcc-common.texi.
+       Describe being a library as current state rather than as 3.x
+       history.
+       * doc/gcc.texi: Remove last update date.
+       * doc/gccint.texi: Likewise.  Update copyright dates.
+       * doc/install.texi: Update copyright dates.
+
+2005-02-06  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR other/7549
+       * doc/invoke.texi: Mention for each option included in -Wall that
+       it is included in -Wall.
+       * doc/gcc.texi: Update copyright and last modification date.
+
+2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Do not add
+       unnecessary cast to original induction variable increments.
+
+2005-02-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/18219
+       * tree-ssa-loop-ivopts.c (get_computation_at): Produce computations
+       in distributed form.
+
+2005-02-06  Richard Sandiford  <rsandifo@redhat.com>
+
+       * expmed.c (store_bit_field): Make the SUBREG code adjust bitnum.
+       Set bitpos and offset later in the function.  Do nothing if the
+       target is a register and if the bitfield lies completely outside
+       that register.
+       (extract_bit_field): Make the same SUBREG, bitpos and offset changes
+       here.  Return an uninitialised register if the source value is stored
+       in a register and the bitfield lies completely outside that register.
+
+2005-02-06  Steven Bosscher  <stevenb@suse.de>
+
+       * df.c (df_insn_refs_record): Use XEXP to get the operand of a USE,
+       not SET_DEST.
+
+2005-02-06  Marcin Dalecki  <martin@dalecki.de>
+
+       * diagnostic.c (default_diagnostic_finalizer): Fix use of attribute.
+
+2005-02-06  Geoffrey Keating  <geoffk@apple.com>
+
+       * config.gcc (*-*-darwin*): Separate darwin7 and darwin8 configs.
+       * config/darwin8.h: New.
+       * config/darwin7.h: Update comment.
+
+2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
+           Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.h (LOC): New type.
+       (UNKNOWN_LOC, EXPR_LOC, LOC_FILE, LOC_LINE): New macros.
+       (loop_line_number): New field in struct _loop_vec_info.
+       (LOOP_VINFO_LOC, LOOP_LOC): New macros.
+
+       * tree-vectorizer.c (input.h): Included.
+       (find_loop_location): New function.
+       (vect_debug_stats): Argument changed from loop to LOC. Computation of
+       loop line number removed.
+       (vect_debug_details): Likewise.
+       (new_loop_vec_info): Initialize new field LOOP_VINFO_LOC.
+
+       (slpeel_make_loop_iterate_ntimes): Call find_loop_location. Argument in
+       call to vect_debug_details/stats changed from loop to loop_loc.
+       (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+
+       (vect_analyze_offset_expr): Argument in call to vect_debug_details/stats
+       changed from NULL to UNKNOWN_LOC.
+       (vect_get_base_and_offset):
+       (vect_create_addr_base_for_vector_ref):
+       (get_vectype_for_scalar_type):
+       (vect_create_data_ref_ptr):
+       (vect_init_vector):
+       (vect_get_vec_def_for_operand):
+       (vect_finish_stmt_generation):
+       (vectorizable_assignment):
+       (vectorizable_operation):
+       (vectorizable_store):
+       (vectorizable_load):
+       (vect_transform_stmt):
+       (vect_update_ivs_after_vectorizer):
+       (vect_do_peeling_for_loop_bound):
+       (vect_do_peeling_for_alignment):
+       (vect_transform_loop):
+       (vect_is_simple_use):
+       (vect_analyze_operations):
+       (vect_is_simple_iv_evolution):
+       (vect_analyze_scalar_cycles):
+       (vect_analyze_data_ref_dependences):
+       (vect_compute_data_ref_alignment):
+       (vect_enhance_data_refs_alignment):
+       (vect_analyze_data_ref_access):
+       (vect_analyze_data_ref_accesses):
+       (vect_analyze_pointer_ref_access):
+       (vect_get_memtag_and_dr):
+       (vect_analyze_data_refs):
+       (vect_mark_relevant):
+       (vect_stmt_relevant_p):
+       (vect_mark_stmts_to_be_vectorized):
+       (vect_can_advance_ivs_p):
+       (vect_get_loop_niters):
+       (vect_analyze_loop):
+       (vectorize_loops): Likewise.
+
+       (vectorizable_load): Argument in call to vect_debug_details/stats
+       changed from loop to LOOP_LOC (loop_vinfo).
+       (vect_transform_loop):
+       (vect_analyze_operations):
+       (vect_analyze_scalar_cycles):
+       (vect_analyze_data_ref_dependence):
+       (vect_enhance_data_refs_alignment):
+       (vect_analyze_data_ref_accesses):
+       (vect_analyze_pointer_ref_access):
+       (vect_analyze_data_refs):
+       (vect_analyze_loop): Likewise.
+
+       (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
+       changed from loop to loop_loc.
+
+       (vect_enhance_data_refs_alignment): Removed unused variable loop.       
+
+2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
+           Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (vect_analyze_data_ref_dependence): Function
+       declaration added.
+       (vect_analyze_data_ref_dependences): Likewise.
+
+       (vect_is_simple_use): Argument changed from loop structure to
+       loop_vect_info structure.
+       (vect_can_advance_ivs_p): Likewise.
+       (vect_create_index_for_vector_ref): Likewise.
+       (vect_update_ivs_after_vectorizer): Likewise.
+       (new_stmt_vec_info): Likewise.
+       
+       (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
+       changed from loop to loop_vinfo.
+       (vect_create_data_ref_ptr): First argument in call to
+       vect_create_index_for_vector_ref was changed from loop to loop_vinfo.
+       (vectorizable_assignment): Second argument in call to vect_is_simple_use
+       was changed from loop to loop_vinfo.
+       (vectorizable_operation): Likewise.
+       (vectorizable_store): Likewise.
+       (vect_mark_stmts_to_be_vectorized): Likewise.
+       (vect_do_peeling_for_loop_bound): First argument in call to
+       vect_update_ivs_after_vectorizer was changed from loop to loop_vinfo.
+       (vect_analyze_operations): Argument in call to vect_can_advance_ivs_p
+       was changed from loop to loop_vinfo.
+       (vect_analyze_data_ref_dependences): Third argument in call to
+       vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
+       
+       (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
+       (vect_create_data_ref_ptr): Likewise.
+       (vect_init_vector): Likewise.
+       (vect_get_vec_def_for_operand): Likewise.
+       (vectorizable_assignment): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_store): Likewise.
+       (vectorizable_load): Likewise.
+       (vect_update_ivs_after_vectorizer): Likewise.
+       (vect_is_simple_use): Likewise.
+       (vect_analyze_data_ref_dependence): Likewise.
+       (vect_analyze_pointer_ref_access): Likewise.
+       (vect_can_advance_ivs_p): Likewise.
+
+       * tree-vectorizer.h: (_loop_vec_info): Definition and macros moved
+       before _stmt_vec_info.
+       (_stmt_vec_info): Loop field replaced by loop_vec_info.
+       (STMT_VINFO_LOOP): Replaced with STMT_VINFO_LOOP_VINFO.
+       (new_stmt_vec_info): Argument changed from loop structure to
+       loop_vect_info structure
+
+       (vect_analyze_data_ref_dependences): Unnecessary line was removed.
+       (vect_analyze_offset_expr): Avoid 80 columns overflow.
+       (vect_create_addr_base_for_vector_ref): Likewise.
+       (vect_analyze_pointer_ref_access): Likewise.
+
+2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/19768
+       * tree-ssa-dse.c (fix_phi_uses): Update the occurs in abnormal
+       phi flag if the phi is abnormal.
+
+2005-02-03  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/19736
+       * tree-ssa.c (replace_immediate_uses): Update the immediate_uses
+       information for the new statement.
+
+2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR driver/19117
+       * gcc.c (main): Include the target in -v output.
+
+2005-02-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * combine.c (simplify_comparison, case SIGN_EXTEND, ZERO_EXTEND):
+       Do not drop the extend if we'd have to add a paradoxical subreg
+       later.  Include optabs.h and insn-codes.h.
+       * Makefile.in (combine.o): Depend on $(OPTABS_H).
+
+2005-02-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/19405
+       * real.h (REAL_MODE_FORMAT_COMPOSITE_P): New macro.
+       * fold-const.c (const_binop): Avoid constant folding floating
+       point operations in modes that use composite representations.
+       * simplify-rtx.c (simplify_binary_operation): Likewise.
+
+2005-02-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/altivec.md (altivec_dst): Make the first operand
+       a REG, not a MEM.
+       (altivec_dstt): Likewise.
+       (altivec_dstst): Likewise.
+       (altivec_dststt): Likewise.
+       * config/rs6000/rs6000.c (altivec_expand_dst_builtin): Adjust creation
+       of first operand.
+
+2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Copy
+       EXPR_LOCUS from orig_cond to the new cond_stmt.
+       (vect_finish_stmt_generation): Copy EXPR_LOCUS from stmt to
+       the new vec_stmt.
+
+2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
+       standard_iv_increment_position. Remove call to bsi_next 
+       (no need to bump the iterator anymore).
+       (vect_create_index_for_vector_ref): Call
+       standard_iv_increment_position. Remove second function argument.
+       (vect_finish_stmt_generation): Remove call to bsi_next 
+       (no need to bump the iterator anymore).
+       (vect_create_data_ref_ptr): Remove second argument (bsi) in call
+       to vect_create_index_for_vector_ref.
+
+2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (vect_mark_stmts_to_be_vectorized): Check if
+       phis are used out of the loop.
+
+2005-02-03  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/17807
+       * c-decl.c (undef_nested_function): New variable.
+       (pop_scope): Diagnose undefined nested functions.
+       (finish_function): Don't attempt cgraph processing or genericizing
+       if current top-level function contained an undefined nested
+       function.  Reset undef_nested_function at the end of a top-level
+       function.
+
+2005-02-02  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree.c (build_int_cst_type): Take sign of the value into account
+       when deciding whether sign extend the value.
+
+2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/18502
+       * gcc.c (cpp_unique_options): Remove %{trigraphs}.
+       (cpp_options, cc1_options): Change %{std*&ansi} to
+       %{std*&ansi&trigraphs}.
+
+2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c: Update comments.
+
+2005-02-02  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_spe_function_arg): Multi-reg
+       arguments go on the stack.  Do not put complex doubles in odd/even
+       pairs.
+
+2005-02-02  Steven Bosscher  <stevenb@suse.de>
+
+       * doc/invoke.texi: Update the options enabled at -O1, -O2,
+       and -O3.  Update the documentation for -fgcse-sm, -fgcse-las,
+       -ftree-pre, and -fthread-jumps.
+
+2005-02-02  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR tree-optimization/19578
+       * tree-flow.h (modified_noreturn_calls): Declare.
+       (noreturn_call_p): Declare.
+       * tree-flow-inline.h (noreturn_call_p): New function.
+       (modify_stmt): Add modified noreturn calls to modified_noreturn_calls.
+       * tree-cfg.c (modified_noreturn_calls): New variable.
+       (cleanup_control_flow): Use noreturn_call_p.  Split basic blocks
+       that contain a mid-block noreturn call.
+       * tree-ssa.c (delete_tree_ssa): Clear modified_noreturn_calls.
+
+2005-02-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * df.c (df_def_record_1, df_uses_record): Don't use
+       DF_FOR_REGALLOC.
+       * df.h (DF_FOR_REGALLOC): Remove.
+
+2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/19435
+       * c-typeck.c (really_start_incremental_init): Reset
+       constructor_max_index for arrays of incomplete type.
+
+2005-02-02  Jeff Law  <law@redhat.com>
+
+       * gcse.c (struct reg_set): Store the block index where the register
+       was set rather than the setting insn.
+       (record_one_set, compute_transp): Corresponding changes.
+       (pre_insert_copy_insn): Do not call replace_one_set.
+       (replace_one_set): Remove.
+
+2005-02-02  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR other/15514
+       * doc/gcov.texi: Fix typo.
+
+2005-02-01  Richard Henderson  <rth@redhat.com
+
+       PR target/19680
+       * config/i386/i386.h (MODES_TIEABLE_P): Use ix86_modes_tieable_p.
+       * config/i386/i386.c (ix86_hard_regno_mode_ok): Change return
+       type to bool.
+       (ix86_tieable_integer_mode_p, ix86_modes_tieable_p): New.
+       * config/i386/i386-protos.h: Update.
+
+2005-02-01  Steven Bosscher  <stevenb@suse.de>
+
+       PR tree-optimization/19217
+       * tree-cfg.c (verify_expr): Use the data field to see if TP was
+       seen inside a PHI node.  Do not do the ADDR_EXPR check if it was.
+       (verify_stmts): Pass (void*)1 as data to verify_expr to signal
+       that it is walking a PHI node.
+
+2005-02-01  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * doc/extend.texi (Nested Functions): Update.
+
+2005-02-01  Richard Henderson  <rth@redhat.com>
+
+       PR 19696
+       * optabs.c (expand_copysign_absneg): Export.
+       * optabs.h (expand_copysign_absneg): Declare.
+       * config/rs6000/rs6000.md (copysigntf3): New.
+
+2005-02-01  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/19633
+       * tree-flow.h (struct ptr_info_def): Add field 'pt_null'.
+       * tree-ssa-alias.c (init_alias_info): Initialize.
+       (merge_pointed_to_info): Set.
+       (add_pointed_to_expr): Set pt_null if EXPR is a NULL pointer.
+       (dump_points_to_info_for): Show value of pt_null.
+       (struct count_ptr_d): Declare.
+       (find_ptr_dereference): Remove.
+       (ptr_is_dereferenced_by): Remove.
+       (count_ptr_derefs): New local function.
+       (count_uses_and_derefs): New local function.
+       (compute_points_to_and_addr_escape): Call it.  If the number
+       of dereferences is greater than zero, mark the pointer as
+       dereferenced.  If there are fewer dereferences than uses of
+       the pointer, the pointer's value escapes.
+
+2005-02-01  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/19670
+       * tree-ssa.c (verify_ssa_name): Don't set TREE_VISITED
+       here...
+       (verify_use): ... set it here, instead.
+
+2005-02-01  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (Test directives): Fix formatting.
+
+       * doc/sourcebuild.texi (Test directives): Describe selector
+       expressions.
+
+2005-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config.gcc (powerpc64-*-linux*): Default to -m64 also for
+       specific 64-bit CPUs.
+
+2005-02-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/16201
+       * arm.c (arm_eliminable_register): New function.
+       (adjacent_mem_locations): Don't allow eliminable registers.  Use
+       HOST_WIDE_INT for address offsets.
+       * arm-protos.h (arm_eliminable_register): Add prototype.
+
+2005-02-01  Steven Bosscher  <stevenb@suse.de>
+
+       PR optimization/15242
+       * params.def (PARAM_MAX_GOTO_DUPLICATION_INSNS): New param.
+       * basic-block.h (duplicate_computed_gotos): Add prototype.
+       * bb-reorder.c (duplicate_computed_gotos): New function to
+       duplicate sufficiently small blocks ending in a computed jump.
+       * passes.c (rest_of_compilation): Call duplicate_computed_gotos
+       if not optimizing for size.
+       * cfgcleanup.c (try_crossjump_bb): If not optimizing for size,
+       never do tail merging for blocks ending in a computed jump.
+       * doc/invoke.texi: Document the max-goto-duplication-insns param.
+
+2005-02-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       Patch from Richard Sandiford <rsandifo@redhat.com>
+       * reload1.c (choose_reload_regs): Prevent the find_equiv_reg() code
+       from inheriting a subreg equivalence with a non-spill register.
+
+       * tree.h (DECL_FUNCTION_CODE): Document that it is overloaded.
+
+2005-02-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/frv/frv.c (movcc_fp_destination_operand): New.
+       (gpr_or_memory_operand): Fix typo in comment.
+       (gpr_or_memory_operand_with_scratch): New.
+       * config/frv/frv.h (PREDICATE_CODES): Add the two new predicates.
+       * config/frv/frv.md (movcc_fp, movcc_fp_internal): Use
+       movcc_fp_destination_operand.
+       (reload_incc_fp): Use gpr_or_memory_operand_with_scratch.
+       Legitimize memory addresses using a scratch register.
+
+2005-01-31  Jeff Law  <law@redhat.com>
+
+       * tree-into-ssa.c (mark_def_sites_global_data): Make KILLS
+       bitmap a sparse bitmap instead of a simple bitmap.
+       (mark_def_sites_initialize_block):  Corresponding changes.
+       (ssa_mark_def_sites_initialize_block): Likewise.
+       (ssa_mark_phi_uses): Likewise.
+       (mark_def_site, ssa_mark_def_sites): Likewise.
+       (mark_def_site_blocks): Likewise.
+       (rewrite_ssa_into_ssa): Likewise.
+
+       * tree-ssa-dom.c (record_cond): Pass correct variable type
+       for last argument to htab_find_slot_with_hash.
+
+       * fold-const.c (fold, case CEIL_MOD_EXPR): Do not lose side
+       effects when optimizing 0 % X.  Do not try to optimize X % 0.
+
+2005-01-31  James E. Wilson  <wilson@specifixinc.com>
+
+       * config/ia64/itanium1.md (1_scall bypass): Change 2_mmalua to
+       1_mmalua.
+
+2005-02-01  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.c (override_options): Warn if -mint64
+       is used.
+       * doc/invoke.texi (MIPS Options): Document that -mint64 is
+       deprecated.
+
+2005-02-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (cse_reg_info): Remove hash_next, next, regno.  Add
+       timestamp.
+       (cse_reg_info_list, cse_reg_info_list_free, REGHASH_SHIFT,
+       REGHASH_SIZE, REGHASH_MASK, reg_hash, REGHASH_FN,
+       cached_cse_reg_info, GET_CSE_REG_INFO): Remove.
+       (cached_regno): Initialize to INVALID_REGNUM.
+       (cse_reg_info_table_size,
+       cse_reg_info_table_first_uninitialized,
+       cse_reg_info_timestamp): New.
+       (REG_TICK, REG_IN_TABLE, SUBREG_TICKED, REG_QTY): Use
+       get_cse_reg_info.
+       (init_cse_reg_info, get_cse_reg_info_1): New.
+       (get_cse_reg_info): Cache the last look-up.
+       (new_basic_block): Update the code to clear mappings from
+       registers to cse_reg_info entries.
+       (cse_main): Call init_cse_reg_info.
+
+       * cse.c (get_cse_reg_info): Update a comment.
+
+2005-01-31  Steven Bosscher  <stevenb@suse.de>
+
+       PR c/19333
+       * c-decl.c (start_decl): Do not warn about arrays of elements with
+       an incomplete type here.
+       (grokdeclarator): Do it here by making a pedwarn an error.
+       * c-typeck.c (push_init_level): If there were previous errors with
+       the constructor type, do not warn about braces for initializers.
+       (process_init_element): Likewise for excess initializer elements.
+
+2005-01-31  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (delete_trivially_dead_insn): Don't iterate.
+
+2005-01-31  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/rs6000.md (copysignsf3): New expand.
+       (copysigndf3): Likewise.
+
+2005-01-31  Steven Bosscher  <stevenb@suse.de>
+
+       * recog.c (constrain_operands): Only look for earlyclobber operand
+       conflicts if an '&' constraint was seen.
+
 2005-01-31  Marc Espie <espie@openbsd.org>
 
        * config.gcc: Don't include embedded systems fragment, switches default
 
 2005-01-31  Dale Johannesen  <dalej@apple.com>
        
+       * doc/extend.texi (nested functions): Fix linkage description.
+       Clarify that static is not allowed.
+
+2005-01-31  Dale Johannesen  <dalej@apple.com>
+       
        * config/rs6000/darwin.md (movsf_low_di):  Make work.
        (movdf_low_di):  Make work.
 
 
 2005-01-11  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       * config/s390/s390.c (struct s390_frame_layout): Remove 
+       * config/s390/s390.c (struct s390_frame_layout): Remove
        save_backchain_p.
        (s390_frame_info, s390_emit_prologue): Replace occurrences of
        save_backchain_p with TARGET_BACKCHAIN.
 
 2005-01-09  Ira Rosen  <irar@il.ibm.com>
 
-       * tree-vectorizer.c (vect_analyze_offset_expr): Use 
+       * tree-vectorizer.c (vect_analyze_offset_expr): Use
        expr_invariant_in_loop_p.
        Initialize outputs first thing in the function.
        (vect_update_ivs_after_vectorizer): Call initial_condition_in_loop_num.
        (vect_is_simple_iv_evolution): Call initial_condition_in_loop_num.
-       (vect_analyze_pointer_ref_access): Check that the initial condition of 
+       (vect_analyze_pointer_ref_access): Check that the initial condition of
        the access function is loop invariant.
 
 2005-01-09  Richard Henderson  <rth@redhat.com>
        gtv2si3, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, ashrv4hi3,
        ashrv2si3, lshrv4hi3, lshrv2si3, mmx_lshrdi3, ashlv4hi3, ashlv2si3,
        mmx_ashldi3, mmx_packsswb, mmx_packssdw, mmx_packuswb, mmx_punpckhbw,
-       mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd, 
+       mmx_punpckhwd, mmx_punpckhdq, mmx_punpcklbw, mmx_punpcklwd,
        mmx_punpckldq, emms, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3,
        eqv2sf3, pfmaxv2sf3, pfminv2sf3, mulv2sf3, femms, pf2id, pf2iw,
        pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pfrcpv2sf2, pfrcpit1v2sf3,
        pswapdv2sf2): Move to mmx.md; rename as necessary with leading
        mmx_ prefix.
        (mmx_clrdi, pavgusb): Remove.
-       (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename 
+       (ldmxcsr, stmxcsr, sfence, sfence_insn): Move to sse.md; rename
        with leading sse_ prefix.
        * config/i386/sse.md: Receive them.
        * config/i386/mmx.md: New file.
        (mmx_add<MMXMODEI>3, mmx_ssadd<MMXMODE12>3, mmx_usadd<MMXMODE12>3,
        mmx_sub<MMXMODEI>3, mmx_sssub<MMXMODE12>3, mmx_ussub<MMXMODE12>3
        mmx_ashr<MMXMODE24>3, mmx_lshr<MMXMODE23>3, mmx_ashl<MMXMODE24>3
-       mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3, 
+       mmx_eq<MMXMODEI>3, mmx_gt<MMXMODEI>3, mmx_and<MMXMODEI>3,
        mmx_nand<MMXMODEI>3, mmx_ior<MMXMODEI>3, mmx_xor<MMXMODEI>3):
        Macroize from existing patterns; use ix86_binary_operator_ok.
        (mmx_packsswb, mmx_packssdw, mmx_packuswb): Add memory alternative.
        (movtf, movtf_internal): Move near other fp moves.
        (SSEMODE, SSEMODEI, vec_setv2df, vec_extractv2df, vec_initv2df,
        vec_setv4sf, vec_extractv4sf, vec_initv4sf, movv4sf, movv4sf_internal,
-       movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal, 
+       movv2df, movv2df_internal, mov<SSEMODEI>, mov<SSEMODEI>_internal,
        movmisalign<SSEMODE>, sse_movups_1, sse_movmskps, sse_movntv4sf,
        sse_movhlps, sse_movlhps, sse_storehps, sse_loadhps, sse_storelps,
        sse_loadlps, sse_loadss, sse_loadss_1, sse_movss, sse_storess,
        sse_shufps, addv4sf3, vmaddv4sf3, subv4sf3, vmsubv4sf3, negv4sf2,
        mulv4sf3, vmmulv4sf3, divv4sf3, vmdivv4sf3, rcpv4sf2, vmrcpv4sf2,
        rsqrtv4sf2, vmrsqrtv4sf2, sqrtv4sf2, vmsqrtv4sf2, sse_andv4sf3,
-       sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3, 
-       sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3, 
-       sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3, 
+       sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3, sse2_andv2df3,
+       sse2_nandv2df3, sse2_iorv2df3, sse2_xorv2df3, sse2_andv2di3,
+       sse2_nandv2di3, sse2_iorv2di3, sse2_xorv2di3, maskcmpv4sf3,
        vmmaskcmpv4sf3, sse_comi, sse_ucomi, sse_unpckhps, sse_unpcklps,
        smaxv4sf3, vmsmaxv4sf3, sminv4sf3, vmsminv4sf3, cvtpi2ps, cvtps2pi,
        cvttps2pi, cvtsi2ss, cvtsi2ssq, cvtss2si, cvtss2siq, cvttss2si,
        smulv8hi3_highpart, umulv8hi3_highpart, sse2_umulsidi3,
        sse2_umulv2siv2di3, sse2_pmaddwd, sse2_uavgv16qi3, sse2_uavgv8hi3,
        sse2_psadbw, sse2_pinsrw, sse2_pextrw, sse2_pshufd, sse2_pshuflw,
-       sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3, 
+       sse2_pshufhw, eqv16qi3, eqv8hi3, eqv4si3, gtv16qi3, gtv8hi3,
        gtv4si3, umaxv16qi3, smaxv8hi3, uminv16qi3, sminv8hi3, ashrv8hi3,
        ashrv4si3, lshrv8hi3, lshrv4si3, lshrv2di3, ashlv8hi3, ashlv4si3,
        ashlv2di3, sse2_ashlti3, sse2_lshrti3, sse2_unpckhpd, sse2_unpcklpd,
-       sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw, 
+       sse2_packsswb, sse2_packssdw, sse2_packuswb, sse2_punpckhbw,
        sse2_punpckhwd, sse2_punpckhdq, sse2_punpcklbw, sse2_punpcklwd,
        sse2_punpckldq, sse2_punpcklqdq, sse2_punpckhqdq, sse2_movupd,
-       sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq, 
+       sse2_movdqu, sse2_movdq2q, sse2_movdq2q_rex64, sse2_movq2dq,
        sse2_movq2dq_rex64, sse2_loadd, sse2_stored, sse2_storehpd,
        sse2_loadhpd, sse2_storelpd, sse2_loadlpd, sse2_movsd, sse2_loadsd,
        sse2_loadsd_1, sse2_storesd, sse2_shufpd, sse2_clflush, sse2_mfence,
        sse3_haddv4sf3, sse3_hsubv4sf3, sse3_addsubv2df3, sse3_haddv2df3,
        sse3_hsubv2df3, sse2_ashlti3, sse2_lshrti3): Likewise.
        (sse_movhlps): Model with vec_select+vec_concat.
-       (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup, 
+       (sse_movlhps, sse_unpckhps, sse_unpcklps, sse3_movshdup,
        sse3_movsldup, sse_shufps, sse_shufps_1, sse2_unpckhpd, sse3_movddup,
        sse2_unpcklpd, sse2_shufpd, sse2_shufpd_1, sse2_punpckhbw,
        sse2_punpcklbw, sse2_punpckhwd, sse2_punpcklwd, sse2_punpckhdq,
        sse2_punpckldq, sse2_punpckhqdq, sse2_punpcklqdq, sse2_pshufd,
-       sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw, 
+       sse2_pshufd_1, sse2_pshuflw, sse2_pshuflw_1, sse2_pshufhw,
        sse2_pshufhw_1): Likewise.
        (neg<SSEMODEI>2, one_cmpl<SSEMODEI>2): New.
        (add<SSEMODEI>3, sse2_ssadd<SSEMODE12>3, sse2_usadd<SSEMODE12>3,
        sub<SSEMODEI>3, sse2_sssub<SSEMODE12>3, sse2_ussub<SSEMODE12>3,
        ashr<SSEMODE24>3, lshr<SSEMODE248>3, sse2_eq<SSEMODE124>3,
        sse2_gt<SSEMODDE124>3, and<SSEMODEI>3, sse_nand<SSEMODEI>3,
-       ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.       
+       ior<SSEMODEI>3, xor<SSEMODEI>3): Macroize from existing patterns.
        (addv4sf3, sse_vmaddv4sf3, mulv4sf3, sse_vmmulv4sf3, smaxv4sf3,
        sse_vmsmaxv4sf3, sminv4sf3, sse_vmsminv4sf3, addv2df3, sse2_vmaddv2df3,
        mulv2df3, sse2_vmmulv2df3, smaxv2df3, sse2_vmsmaxv2df3, sminv2df3,
        for IBM long double format correctly.
 
 2005-01-06  Daniel Berlin <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/18792
 
        * tree-data-ref.c (build_classic_dist_vector): Change first_loop
        to first_loop_depth, and use loop depth instead of loop number.
        (build_classic_dir_vector): Ditto.
        (compute_data_dependences_for_loop): Use depth, not loop number.
-       * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop 
+       * tree-loop-linear.c (try_interchange_loops): Use loop depth, not loop
        number. Pass in loops, instead of loop numbers.
        (gather_interchange_stats): Ditto.
        (linear_transform_loops): Ditto.
        * gcc.c (process_command): Change year in 'gcc --version' to 2005.
 
 2005-01-05  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        Fix PR middle-end/19286
        Fix PR debug/19267
        * dwarf2out.c (gen_subprogram_die): If we've already tried to
        (decls_for_scope): Ditto.
        * gimple-low.c (mark_blocks_with_used_subblocks): Remove.
        (mark_used_blocks): Don't call mark_blocks_with_used_subblocks.
-       
+
 2005-01-05  Richard Henderson  <rth@redhat.com>
 
        PR target/11327
        (ix86_expand_binop_builtin): Force operands into registers
        when optimizing.
        (ix86_expand_unop_builtin, ix86_expand_unop1_builtin,
-       ix86_expand_sse_compare, ix86_expand_sse_comi, 
+       ix86_expand_sse_compare, ix86_expand_sse_comi,
        ix86_expand_builtin): Likewise.
 
 2005-01-05  Richard Henderson  <rth@redhat.com>
            Richard Henderson  <rth@redhat.com>
 
        PR target/18910
-       * config/i386/i386.c (ix86_expand_move): Handle tls symbols 
+       * config/i386/i386.c (ix86_expand_move): Handle tls symbols
        with an offset.
 
 2005-01-05  Richard Henderson  <rth@redhat.com>
 
        * tree-vectorizer.c (vect_strip_conversions): New function.
        (vect_analyze_offset_expr): Call vect_strip_conversions. Add
-       check for binary class. 
+       check for binary class.
 
 2005-01-03  Daniel Berlin  <dberlin@dberlin.org>
 
        * tree-inline.c: Include debug.h.
        (expand_call_inline): Call outlining_inline_function here.
        * tree-optimize.c (init_tree_optimization_passes): Add
-       pass_mark_used_blocks. 
+       pass_mark_used_blocks.
        * tree-pass.h (pass_mark_used_blocks): New.
        * Makefile.in (tree-inline.o): Add debug.h dependency.