+2005-02-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
+
+2005-02-17 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * builtins.c (expand_builtin_return_addr): Remove tem parameter.
+ tem becomes a local variable which is set to the value of the
+ back end defined INITIAL_FRAME_ADDRESS macro.
+ (expand_builtin_frame_address): Omit the base parameter to
+ expand_builtin_return_addr.
+ (expand_builtin_profile_func): Likewise.
+ * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
+ (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
+ * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
+
+2005-02-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
+ s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
+ * config/frv/frv.c (frv_function_epilogue): Likewise.
+
+2005-02-17 Daniel Berlin <dberlin@dberlin.org>
+
+ * lambda-code (perfect_nestify): Remove mark/unmark
+ for rewriting hack.
+ * tree-loop-linear.c (linear_transform_loops): Add
+ rewrite_into_ssa call so that ssa is correct for
+ rewriting into loop closed.
+
+2005-02-17 Nathan Sidwell <nathan@codesourcery.com>
+
+ * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
+ * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
+ BITMAP_FREE.
+ * bt-load.c (btr_def_live_range, combine_btr_defs,
+ migrate_btr_def, migrate_btr_defs): Likewise.
+ * cfgcleanup.c (thread_jump): Likewise.
+ * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
+ * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
+ df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
+ df_rd_local_compute, df_reg_info_compute): Likewise.
+ * dominance.c (init_dom_info, free_dom_info): Likewise.
+ * flow.c (init_propagate_block_info,
+ free_propagate_block_info): Likewise.
+ * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
+ * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
+ modify_reg_pav): Likewise.
+ * loop-invariant.c (find_defs, find_invariant_insn,
+ find_invariants, free_inv_motion_data): Likewise.
+ * predict.c (tree_predict_by_opcode,
+ estimate_bb_frequencies): Likewise.
+ * stmt.c (expand_case): Likewise.
+ * tree-cfg.c (tree_duplicate_sese_region): Likewise.
+ * tree-dfa.c (mark_new_vars_to_rename): Likewise.
+ * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
+ * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
+ get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
+ rewrite_ssa_into_ssa): Likewise.
+ * tree-optimize.c (tree_rest_of_compilation): Likewise.
+ * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
+ analyze_edges_for_bb, perform_edge_inserts): Likewise.
+ * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
+ * tree-sra.c (tree_sra): Likewise.
+ * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
+ * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
+ * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+ * tree-ssa-dse.c (tree_ssa_dse): Likewise.
+ * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
+ Likewise.
+ * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
+ calculate_live_on_entry, calculate_live_on_exit,
+ build_tree_conflict_graph): Likewise.
+ * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
+ record_important_candidates, set_use_iv_cost, find_depends,
+ determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
+ tree_ssa_iv_optimize_finalize): Likewise.
+ * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
+ find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
+ tree_duplicate_loop_to_header_edge): Likewise.
+ * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
+ * tree-ssa.c (verify_flow_insensitive_alias_info,
+ verify_name_tags, verify_ssa, init_tree_ssa,
+ delete_tree_ssa): Likewise.
+ * tree-ssanames.c (marked_ssa_names, init_ssanames,
+ fini_ssanames): Likewise.
+ * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
+
+2005-02-17 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config/rs6000/t-rtems: Completely reworked.
+
+2005-02-17 Ira Rosen <irar@il.ibm.com>
+
+ * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
+
+2005-02-17 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
+ POINTER_TYPE_P when checking that type is a pointer.
+ (vect_get_memtag): Remove.
+ (vect_address_analysis): Use POINTER_TYPE_P. Call
+ vect_object_analysis with dummy parameter for memtag.
+ (vect_object_analysis): Extract memtag (functionality that
+ used to be in vect_get_memtag and moved here). Fix printings.
+ (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
+ with correct parameters. Remove call to vect_get_memtag.
+
+2005-02-17 Dorit Naishlos <dorit@il.ibm.com>
+
+ * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
+ (tree-vectorizer.o): Added missing dependencies.
+
+ * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
+ decleration.
+ (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
+ declaration in tree-vectorizer.c, now has an extern declaration in
+ tree-vectorizer.h).
+ (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+ slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+ get_vectype_for_scalar_type, vect_is_simple_use,
+ vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+ vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
+ new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
+ vectorizable_store, vectorizable_operation, vectorizable_assignment,
+ vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
+ find_loop_location): Likewise.
+
+ * tree-vectorizer.c (langhooks.h): #include removed.
+ (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
+ moved to tree-vectorized.h.
+ (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+ slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+ get_vectype_for_scalar_type, vect_is_simple_use,
+ vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+ vect_supportable_dr_alignment, new_loop_vec_info,
+ destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
+ vect_set_verbosity_level, find_loop_location): Likewise.
+
+ (vect_analyze_loop): Function externalized. Declaration moved to
+ tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
+ (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
+ (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
+ vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
+ vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
+ vect_enhance_data_refs_alignment, vect_analyze_operations,
+ exist_non_indexing_operands_for_use_p, vect_mark_relevant,
+ vect_stmt_relevant_p, vect_get_loop_niters,
+ vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
+ vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
+ vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
+ vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
+ vect_get_memtag): Likewise.
+
+ (vectorizable_load): Function externalized. Declaration moved to
+ tree-vectorized.h. Function definition moved to tree-vect-transform.c.
+ (vectorizable_store, vectorizable_operation, vectorizable_assignment,
+ vect_transform_loop): Likewise.
+ (vect_transform_stmt): Moved to tree-vect-transform.c.
+ (vect_align_data_ref, vect_create_destination_var,
+ vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
+ vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
+ vect_get_vec_def_for_operand, vect_init_vector,
+ vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
+ vect_build_loop_niters, vect_update_ivs_after_vectorizer,
+ vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
+ vect_update_inits_of_drs, vect_do_peeling_for_alignment,
+ vect_do_peeling_for_loop_bound): Likewise.
+
+ * tree-vect-analyze.c: New file.
+ * tree-vect-transform.c: New file.
+
+2005-02-17 Jason Merrill <jason@redhat.com>
+
+ PR mudflap/19319, c++/19317
+ * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
+ slot explicit.
+
+2005-02-17 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Specific): Update link for Darwin-specific
+ tool binary site.
+
+2005-02-16 James A. Morrison <phython@gcc.gnu.org>
+
+ * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
+ constant_boolean_node.
+
+2005-02-16 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/19019
+ * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
+ * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
+
+2005-02-16 Richard Henderson <rth@redhat.com>
+
+ PR 19920
+ * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
+ with W_TYPE_SIZE.
+ (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
+ replace uses with Wtype_MAXp1_F.
+ (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
+ L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
+ L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
+ L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
+ and HAVE_TFMODE as appropriate.
+ (__fixunssfDI): Provide an implementation that doesn't need DFmode.
+ (__floatdisf): Likewise.
+ * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
+ (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
+ (Wtype_MAXp1_F): New.
+ (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
+ __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
+
+2005-02-16 Richard Earnshaw <rearnsha@arm.com>
+
+ * PR target/19162
+ * arm.c (arm_apply_result_size): New function.
+ * arm.h (APPLY_RESULT_SIZE): Define.
+ * arm-protos.h (arm_apply_result_size): Add prototype.
+ * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
+ (movxf): New expand.
+ (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
+ (call_value_symbol): Remove predicate for operand 0.
+ (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
+ (untyped_call): Rework to correclty return values for any type.
+ (untyped_return): New expand.
+ * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
+
+2005-02-16 Stan Shebs <shebs@apple.com>
+
+ * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
+ * config/rs6000/t-darwin8: New, for 64-bit multilib.
+
+2005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/install.texi (sparc-sun-solaris2*): Document required GMP
+ configure settings on Solaris 7 and later.
+
+2005-02-16 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/19865
+ * tree-optimize.c (init_tree_optimization_passes): Run
+ pass_may_alias after pass_sra.
+
+2005-02-16 Richard Henderson <rth@redhat.com>
+ Stuart Hastings <stuart@apple.com>
+
+ PR debug/19521
+ * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
+ Do nothing if debug info suppressed for this function.
+ (dbxout_begin_function): Early exit if debug info suppressed for
+ this function.
+
+2005-02-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR target/20007
+ * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
+ find_basic_blocks.
+ * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+
+ PR tree-optimization/19967
+ * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
+ expand_builtin_strchr, expand_builtin_strrchr): Take a new
+ argument TYPE. Adjust calls to fold_builtin_XXX.
+ (expand_builtin, fold_builtin_1): Adjust calls to
+ expand_builtin_XXX.
+ (fold_builtin_strchr, fold_builtin_strpbrk,
+ fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
+ result to a requested type TYPE.
+
+2005-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/19857
+ * fold-const.c (fold): Don't optimize (T)(x & cst) to
+ (T)x & (T)cst if (T)cst overflows.
+ * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
+ TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
+
+2005-02-15 Jeff Law <law@redhat.com>
+
+ * gcse.c (blocks_with_calls): New bitmap.
+ (alloc_gcse_mem): Allocate it.
+ (free_gcse_mem): Free it.
+ (clear_modifY_mem_tables): Clear it.
+ (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
+ when we encounter CALL_INSNs.
+ (compute_transp, case MEM): Handle blocks with calls separate
+ from blocks without calls. Use bitmap iterators rather than
+ FOR_EACH_BB.
+
+2005-02-15 Peter O'Gorman <peter@pogma.com>
+
+ PR bootstrap/18810
+ * mklibgcc.in (vis_hide): Use a temporary object file, not
+ -o /dev/null.
+
+2005-02-15 Andy Hutchinson <HutchinsonAndy@netscape.net>
+
+ PR target/19924
+ * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
+ access optimization.
+
+2005-02-15 David Edelsohn <edelsohn@gnu.org>
+ Alan Modra <amodra@bigpond.net.au>
+
+ PR target/19019
+ * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
+ (_xlqsub): Rename to __gcc_qsub.
+ (_xlqmul): Rename to __gcc_qmul.
+ (_xlqdiv): Rename to __gcc_qdiv.
+ Provide versioned symbol aliases with old names.
+ * config/rs6000/libgcc-ppc64.ver: Rename symbols.
+ * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
+ * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
+ * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
+ * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
+
+2005-02-15 James A. Morrison <phython@gcc.gnu.org>
+
+ * fold-const.c (fold): Fold -(~A) to A + 1. Fold ~(-A) to A - 1.
+ Fold ~(A - 1) and ~(A + -1) to -A.
+
+2005-02-15 James A. Morrison <phython@gcc.gnu.org>
+
+ PR pch/14940
+ PR target/19300
+ * config/host-linux.c (linux_gt_pch_use_address): Copy from
+ config/pa/pa-host.c:pa_gt_pch_use_address.
+
+2005-02-15 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-vn.c (get_value_handle): Make sure that given an
+ is_gimple_min_invariant expression, we always return it.
+
+2005-02-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * passes.c (rest_of_handle_gcse): Fix a comment.
+
+2005-02-15 Jeff Law <law@redhat.com>
+
+ * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
+ bitmap.
+ (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
+ (canon_list_insert, record_last_mem_set_info): Similarly.
+ (clear_modify_mem_tables): Similarly.
+
+2005-02-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
+ tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
+ config/mips/mips.md, config/rs6000/aix.h,
+ config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
+
+2005-02-15 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
+ call to be best_edge.
+
+2005-02-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h: Adjust the prototype for find_basic_blocks.
+ * cfgbuild.c (find_basic_blocks): Remove unused arguments.
+ * passes.c (rest_of_handle_loop_optimize): Adjust the call to
+ find_basic_blocks.
+
+ * flow.c (recompute_reg_usage): Remove all arguments.
+ * passes.c (rest_of_compilation): Adjust the call to
+ recompute_reg_usage.
+ * rtl.h: Adjust the prototype for recompute_reg_usage.
+
+2005-02-14 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-dump.c (dump_files): Update to reflect new member
+ of dump_file_info.
+ (dump_register): Add new argument.
+ Set glob name.
+ (dump_switch_p_1): Check against glob name if doglob was passed.
+ (dump_switch_p): Check against regular first, then glob if
+ we didn't have any hits on the dump name.
+ * tree-optimize.c (register_one_dump_file):
+ Pass in glob name as well.
+ * tree-pass.h (struct dump_file_info): Add glob
+ member.
+
+2005-02-14 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR preprocessor/16323
+ * doc/invoke.texi: Document that -Wendif-labels is on by default.
+
+2005-02-14 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/19019
+ * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
+ (trunctfdf2_internal1): New.
+ (trunctfdf2_internal2): Renamed from trunctfdf2.
+
+2005-02-14 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/19853
+ * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
+
+2005-02-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * passes.c (rest_of_handle_loop_optimize): Remove calls to
+ delete_dead_jumptables and cleanup_cfg.
+
+2005-02-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (find_reloads): Swap address_reloaded flags when
+ swapping commutative operands.
+
+2005-02-14 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
+ Use standard_iv_increment_position for computing the bsi position
+ for create_iv.
+ * tree-ssa-loop-manip.c (create_iv): Add a comment on how to compute
+ the bsi position.
+
+2005-02-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR target/17428
+ * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
+ life range of hard registers.
+ * value-prof.c (insn_prefetch_values_to_profile): Only
+ scan normal insns.
+
+ * value-prof.c (rtl_find_values_to_profile): Do not look for values to
+ profile in libcalls.
+
+2005-02-13 Nathan Sidwell <nathan@codesourcery.com>
+
+ * bitmap.h (bitmap_and_compl_into): Return bool.
+ * bitmap.c (bitmap_and_compl_into): Return changed flag.
+
+2005-02-13 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/19944
+ * fold-const.c (fold): Re-add ABS_EXPR folding.
+
+2005-02-13 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/19019
+ * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
+ {TARGET,MASK}_XL_COMPAT.
+ (SUBTARGET_SWITCHES): Rename xl-call to xl-compat. Use
+ MASK_XL_COMPAT.
+ * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
+ * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
+ TARGET_XL_COMPAT.
+ (rs6000_arg_partial_bytes): Same.
+ (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
+ and XL compatibility enabled.
+ * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
+ * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
+ test to final condition.
+ (cmptf_internal2): New.
+ * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
+ xl-compat. Add TFmode information to description.
+
+2005-02-13 Kazu Hirata <kazu@cs.umass.edu>
+
+ * flags.h, read-rtl.c, tree-ssa-live.h: Update copyright.
+
+2005-02-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/16405
+ * fold-const.c (fold_indirect_ref_1): Split out from...
+ (build_fold_indirect_ref): Here.
+ (fold_indirect_ref): New fn.
+ * tree.h: Declare it.
+ * gimplify.c (gimplify_compound_lval): Call fold_indirect_ref.
+ (gimplify_modify_expr_rhs): Likewise.
+ (gimplify_expr): Likewise.
+
+2005-02-13 James A. Morrison <phython@gcc.gnu.org>
+
+ PR tree-optimization/14303
+ PR tree-optimization/15784
+ * fold-const.c (fold): Fold ABS_EXPR<x> >= 0 to true, when possible.
+ Fold ABS_EXPR<x> < 0 to false. Fold ABS_EXPR<x> == 0 to x == 0 and
+ ABS_EXPR<x> != 0 to x != 0.
+
+2005-02-12 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-tree.h, combine.c, expmed.c, flow.c, libgcc2.c,
+ simplify-rtx.c, tree-ssa-live.h: Fix comment typos. Follow
+ spelling conventions.
+
+ * passes.c (rest_of_handle_gcse): Don't run cse_main and
+ delete_trivially_dead_insns too many times.
+
+ * passes.c (rest_of_handle_gcse): Remove dead assignments to
+ tem and tem2.
+
+2005-02-12 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.c (vect_get_base_and_offset): Remove.
+ (vect_is_simple_iv_evolution): Remove redundant parameter
+ and step check.
+ (vect_analyze_scalar_cycles): Call vect_is_simple_iv_evolution
+ without last parameter.
+ (vect_analyze_pointer_ref_access): Get access_fn as parameter.
+ Return pointer step. Call vect_is_simple_iv_evolution without
+ last parameter. Check only that the step is multiple of size
+ type. Remove stmt_vinfo updates.
+ (vect_get_memtag_and_dr): Remove.
+ (vect_get_memtag): New function.
+ (vect_address_analysis): New function.
+ (vect_object_analysis): New function.
+ (vect_analyze_data_refs): Call vect_object_analysis and
+ vect_get_memtag. Update stmt_vinfo fields.
+
+2005-02-12 Ira Rosen <irar@il.ibm.com>
+
+ * tree-data-ref.c (array_base_name_differ_p): Check that the bases
+ exist and are objects. Remove checks for pointer.
+ * tree-vectorizer.c (vect_create_addr_base_for_vector_ref): Use
+ STMT_VINFO_VECT_DR_BASE_ADDRESS instead of DR_BASE_NAME.
+ (vect_create_data_ref_ptr): Likewise.
+ (vect_base_addr_differ_p): New function.
+ (vect_analyze_data_ref_dependence): Call vect_base_addr_differ_p.
+ (vect_analyze_pointer_ref_access): Add output parameter - ptr_init.
+ Don't set the DR_BASE_NAME field of data-ref.
+ (vect_get_memtag_and_dr): Use ptr_init instead of DR_BASE_NAME.
+
+2005-02-12 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Add new OTI_ldexp.
+ (ldexp_optab): Define corresponding macro.
+ * optabs.c (init_optabs): Initialize ldexp_optab.
+ * genopinit.c (optabs): Implement ldexp_optab using ldexp?f3
+ patterns.
+ * builtins.c (expand_builtin_mathfn_2): Handle BUILT_IN_LDEXP{,F,L}
+ using ldexp_optab.
+ (expand_builtin): Expand BUILT_IN_LDEXP{,F,L} using
+ expand_builtin_mathfn_2 if flag_unsafe_math_optimizations is set.
+
+ * config/i386/i386.md (ldexpsf3, ldexpdf3, ldexpxf3): New expanders
+ to implement ldexpf, ldexp and ldexpl built-ins as inline x87
+ intrinsics.
+
+2005-02-12 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
+ to base_address.
+ * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
+ stmt_vec_info.
+ (vect_get_base_and_offset): Always return an address.
+ (vect_create_addr_base_for_vector_ref): Remove treatment for
+ different data reference types.
+ (vect_compute_data_ref_alignment): Rename base to base_address in
+ stmt_vec_info. Get the object in order to force its alignment.
+ (vect_get_memtag_and_dr): Rename base to base_address in
+ stmt_vec_info. Extract the object for memtag analysis.
+
+2005-02-12 Hans-Peter Nilsson <hp@axis.com>
+
+ PR regression/19898.
+ * config/cris/cris.c (cris_notice_update_cc): When testing if insn
+ changes cc_status, use apply modified_in_p to part of cc_status
+ and insn, not cris_reg_overlap_mentioned_p on SET_DEST of insn
+ body.
+
+2005-02-11 Richard Henderson <rth@redhat.com>
+
+ * tree-complex.c (expand_complex_libcall): New.
+ (expand_complex_multiplication): Use it for c99 compliance.
+ (expand_complex_division): Likewise.
+ * fold-const.c (fold_complex_add, fold_complex_mult): New.
+ (fold): Call them.
+ * builtins.c (built_in_names): Remove const.
+ * tree.c (build_common_builtin_nodes): Build complex arithmetic
+ builtins.
+ * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
+ (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
+ (built_in_names): Remove const.
+ * c-common.c (c_common_type_for_mode): Handle complex modes.
+ * flags.h, toplev.c (flag_complex_method): Rename from
+ flag_complex_divide_method.
+ * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
+ __mulsc3, __muldc3, __mulxc3, __multc3): New.
+ * libgcc2.h: Declare them.
+ * libgcc-std.ver: Export them.
+ * mklibgcc.in (lib2funcs): Build them.
+
2005-02-11 Steven Bosscher <stevenb@suse.de>
PR tree-optimization/19876