+2006-02-15 Paolo Bonzini <bonzini@gnu.org>
+
+ * cfg.c (dump_flow_info): Get dump flags as an additional parameter.
+ (debug_flow_info): Pass it.
+ * alias.c (rest_of_handle_cfg): Adjust calls to dump_flow_info.
+ * bb-reorder.c (reorder_basic_blocks): Likewise.
+ * cfgcleanup.c (rest_of_handle_jump2): Likewise.
+ * cse.c (rest_of_handle_cse, rest_of_handle_cse2): Likewise.
+ * flow.c (life_analysis, recompute_reg_usage): Likewise.
+ * gcse.c (gcse_main, bypass_jumps): Likewise.
+ * ifcvt.c (rest_of_handle_if_conversion): Likewise.
+ * local-alloc.c (rest_of_handle_local_alloc): Likewise.
+ * loop-init.c (rtl_loop_init, rtl_loop_done): Likewise.
+ * profile.c (compute_branch_probabilities, branch_prob): Likewise.
+ * rtl.h (dump_flow_info): Adjust prototype.
+ * tracer.c (rest_of_handle_tracer, tracer): Likewise.
+ * var-tracking.c (variable_tracking_main): Likewise.
+ * passes.c (execute_todo): Obey TDF_BLOCKS for RTL.
+ * tree-dump.c (enable_rtl_dump_file): Enable the details and blocks
+ options.
+
+2006-02-15 Marcin Dalecki <martin@dalecki.de>
+
+ * tree-ssa-dom.c (dom_thread_across_edge): fix tag expression
+ construction.
+
+2006-02-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/26209
+ * tree-ssa-loop.c (pass_scev_cprop): Add TODO_cleanup_cfg.
+ * tree-cfgcleanup.c (cleanup_control_flow): Remove dead
+ eh edges.
+ * tree-cfg.c (replace_uses_by): Do not alter cfg.
+
+2006-02-14 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/23670
+ * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
+ (X,Y) and the corresponding symmetry related transformations.
+ (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
+ (X,Y) and its symmetry related transformations.
+
+2006-02-14 Roger Sayle <roger@eyesopen.com>
+
+ * dojump.c (do_compare_rtx_and_jump): Also handle multi-word GTU
+ and GEU.
+
+2006-02-14 Adam Nemet <anemet@caviumnetworks.com>
+
+ * simplify-rtx.c (simplify_subreg): Combine SUBREG and TRUNCATE.
+
+2006-02-14 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ PR bootstrap/26053
+ * configure.ac (HAVE_COMDAT_GROUP): Don't assume non-GNU linkers
+ support COMDAT group.
+ * configure: Regenerate.
+
+2006-02-14 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/26279
+ PR middle-end/26280
+ PR middle-end/26283
+ * dojump.c (do_compare_rtx_and_jump): Handle multi-word LE.
+
+2006-02-14 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/26260
+
+ * doc/invoke.texi (max-fields-for-field-sensitive): Document
+ param.
+ * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New.
+ * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto.
+ * tree-ssa-structalias.c (create_variable_info_for): Use
+ MAX_FIELDS_FOR_FIELD_SENSITIVE.
+
+2006-02-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl):
+ Document.
+ * tree-ssa-loop-niter.c (number_of_iterations_ne,
+ number_of_iterations_lt, number_of_iterations_cond): Remember the shape
+ of the ending condition.
+ * tree-ssa-loop-manip.c: Include params.h.
+ (build_if_stmt, can_unroll_loop_p, determine_exit_conditions,
+ tree_unroll_loop): New functions.
+ * tree-pass.h (pass_loop_prefetch): Declare.
+ * loop.c (rest_of_handle_loop_optimize): Test for
+ -fprefetch-loop-arrays-rtl.
+ * tree-scalar-evolution.h (affine_iv): Moved to tree-flow.h.
+ * timevar.def (TV_TREE_PREFETCH): New timevar.
+ * tree-ssa-loop.c (tree_ssa_loop_prefetch, gate_tree_ssa_loop_prefetch,
+ pass_loop_prefetch): New.
+ * tree-cfgcleanup.c: Include tree-scalar-evolution.h.
+ (cleanup_tree_cfg_loop): Call scev_reset.
+ * common.opt (fprefetch-loop-arrays-rtl): Add.
+ * tree-ssa-loop-prefetch.c: New file.
+ * tree-outof-ssa.c (struct value_expr_d): Add expr_vars field.
+ (new_temp_expr_table): Initialize expr_vars.
+ (free_temp_expr_table): Cleanup expr_vars.
+ (check_replaceable, find_replaceable_in_bb): Prevent accumulating
+ expressions from being merged into one.
+ * tree-flow.h (affine_iv): Moved from tree-scalar-evolution.h.
+ (struct tree_niter_desc): Add control, bound and cmp fields.
+ (tree_ssa_prefetch_arrays, can_unroll_loop_p, tree_unroll_loop):
+ Declare.
+ * Makefile.in (tree-ssa-loop-prefetch.o): Add.
+ (tree-cfgcleanup.o): Add SCEV_H dependency.
+ (tree-ssa-loop-manip.o): Add PARAMS_H dependency.
+ * passes.c (init_optimization_passes): Add pass_loop_prefetch.
+
+2006-02-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/26258
+ * tree-ssa-structalias.c (find_func_aliases): Handle aggregates
+ in PHI argument processing.
+
+2006-02-13 Adam Nemet <anemet@caviumnetworks.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: Return
+ new expression in the requested machine mode.
+
+2006-02-13 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (expand_abs): Don't call do_jump_by_parts_greater_rtx
+ directly, instead let do_compare_rtx_and_jump handle this for us.
+ * expr.c (expand_expr_real_1): Likewise.
+ * dojump.c (do_jump_by_parts_greater_rtx): Make static. Move
+ before do_jump_by_parts_greater.
+ (do_jump_by_parts_greater): Move after do_jump_by_parts_greater_rtx.
+ * expr.h (do_jump_by_parts_greater_rtx): Delete prototype.
+
+2006-02-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa/quadlib.c: Use defines instead of enum qfcmp_magic.
+
+2006-02-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26235
+ * loop-invariant.c (hash_invariant_expr_1): Handle 'i' and 'n' formats.
+ (invariant_expr_equal_p): Handle 'i' and 'n' formats. Fail on unknown
+ format.
+
+2006-02-13 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr): Remove handling of
+ TRUTH_XOR_EPR.
+
+2006-02-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/26092
+ * gimplify.c (gimplify_call_expr): Don't call get_callee_fndecl
+ twice if decl is a builtin. When trying again, call get_callee_fndecl
+ first to verify it is still a builtin.
+
+2006-02-13 Geoffrey Keating <geoffk@apple.com>
+
+ * dwarf2out.c (base_type_die): Don't add AT_name here.
+ (subrange_type_die): Don't add AT_name here.
+ (modified_type_die): Rearrange code flow. Do add AT_name here.
+
+2006-02-13 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26247
+ PR rtl-optimization/26248
+ * loop-invariant.c (may_assign_reg_p): Do not allow VOIDmode.
+
+2006-02-13 Richard Sandiford <richard@codesourcery.com>
+
+ * config/floatunditf.c: Use if __LDBL_MANT_DIG__ == 113.
+ * config/fixtfdi.c: Likewise.
+ * config/fixunstfdi.c: Likewise.
+ * config/floatditf.c: Likewise.
+
+2006-02-13 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/24427
+ * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
+ into (X,C2) if C1 is a subset of the bits of C2. Transform
+ (X&C1)|C2 into X|C2 if C1|C2 == ~0. Canonicalize (X&C1)|C2 as
+ (X&(C1&~C2))|C2.
+ <BIT_AND_EXPR>: Canonicalize (X|C1)&C2 as (X&C2)|(C1&C2).
+
+2006-02-13 Josh Conner <jconner@apple.com>
+
+ PR target/25376
+ * varasm.c (function_section): Check for section name before
+ calling select_section on targets that define
+ USE_SELECT_SECTION_FOR_FUNCTIONS. On other targets, use
+ unlikely_text_section instead of hot_function_section if
+ first_function_block_is_cold.
+
+2006-02-13 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR middle-end/25335
+ * reload1.c (gen_reload): Also use find_replacement in UNARY_P case.
+
+2006-02-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26222
+ * function.c (assign_stack_temp_for_type): Do not reuse stack slots
+ after tree->rtl expansion.
+ * loop-invariant.c (move_invariant_reg): Use force_operand on rhs
+ before passing it to emit_move_insn.
+
+2006-02-12 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * doc/invoke.texi (-Write-strings): Document that it is enabled by
+ default.
+ * c.opt (-Wwrite-strings): Declare variable warn_write_strings.
+ Clarify documentation.
+ * c-common.h (warn_write_strings): Remove.
+ * c-common.c (warn_write_strings): Likewise.
+ * c-opts.c (c_common_init_options): Enable -Wwrite-strings by
+ default for C++.
+
+2006-02-12 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/25724
+ * dojump.c (do_jump): Call do_compare_rtx_and_jump.
+ (do_jump_parts_zero_rtx): New function renamed from
+ do_jump_parts_equality_rtx. Made static. Add a mode argument.
+ (do_jump_parts_equality_rtx): New function split out from
+ do_jump_parts_equality. Old implementation renamed as above.
+ Call do_jump_parts_zero_rtx if either operand is zero.
+ (do_jump_parts_equality): Call do_jump_parts_equality_rtx to
+ do all of the heavy lifting.
+ (do_compare_rtx_and_jump): Handle multi-word comparisons by
+ calling either do_jump_by_parts_greater_rtx or
+ do_jump_by_parts_equality_rtx.
+ * expr.h (do_jump_by_parts_equality_rtx): Remove prototype.
+ * expmed.c (do_cmp_and_jump): Now multi-word optimization has
+ moved to do_compare_rtx_and_jump, call it directly.
+ * stmt.c (do_jump_if_equal): Remove static prototype. Add a
+ mode argument. Call do_compare_rtx_and_jump.
+ (emit_case_nodes): Update calls to do_jump_if_equal.
+
+2006-02-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26225
+ * loop-invariant.c (may_assign_reg_p): Do not allow BLKmode operands.
+
+2006-02-12 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26232
+ * loop-invariant.c (find_invariant_insn): Ignore insns that set CC0.
+
+2006-02-11 Jason Merrill <jason@redhat.com>
+
+ PR tree-opt/24365
+ * tree-inline.c (declare_return_variable): Just don't use the
+ modify target if it's a gimple complex reg and the return slot
+ isn't.
+
+2006-02-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * doc/contrib.texi: Update my entry.
+
+2006-02-10 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/darwin.h (DBX_REGISTER_NUMBER): Define.
+
+2006-02-10 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-inline.c (estimate_num_insns_1): Make OpenMP directives
+ expensive.
+
+2006-02-10 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * doc/invoke.texi (-floop-optimize2): Removed.
+ * toplev.c (process_options): Remove handling of flag_loop_optimize2.
+ * loop-init.c (gate_handle_loop2): Do not test flag_loop_optimize2.
+ Test flag_branch_on_count_reg only if HAVE_doloop_end.
+ * common.opt (floop-optimize2): Removed.
+ (fmove-loop-invariants): Enabled by default.
+
+2006-02-10 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-if-conv.c (combine_blocks): Free the result of
+ get_loop_exit_edges.
+
+2006-02-10 Jeff Law <law@redhat.com>
+
+ * fold-const.c (tree_expr_nonzero_p): Fix thinko.
+
+ PR tree-optimization/26213
+ * tree-ssa-threadedge.c (simplify_control_stmt_condition): Do not
+ loop trying to follow SSA_NAME_VALUE chains.
+
+2006-02-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-dfa.c (get_ref_base_and_extent): When computing maxsize
+ deal with structures that end in implicitly variable sized arrays.
+
+2006-02-09 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/24762
+ * df-scan.c (df_bb_refs_record): Record correct registers defined on
+ eh edges.
+
+2006-02-09 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (struct loop_data, loop_data): Removed.
+ (struct ivopts_data): Add regs_used field.
+ (tree_ssa_iv_optimize_init): Do not allocate aux fields for loops.
+ (ivopts_global_cost_for_size, determine_set_costs): Use data->regs_used
+ instead of loop_data->regs_used;
+ (free_loop_data): Do not free aux fields for loops.
+ (tree_ssa_iv_optimize): Do not pass loops to tree_ssa_iv_optimize_init
+ and tree_ssa_iv_optimize_finalize.
+
+2006-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.h (FUNCTION_VALUE): Don't handle CHAR_TYPE.
+
+2006-02-09 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR target/26141
+ * sh.c (sh_gimplify_va_arg_expr): Don't change the result type when
+ computing the effective result type.
+
+2006-02-09 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR inline-asm/16194
+ * tree.h (decl_overlaps_hard_reg_set_p) Don't declare.
+ (tree_overlaps_hard_reg_set): Declare.
+ * stmt.c (decl_overlaps_hard_reg_set_p): Now static. Change return
+ type and signature to match function type expected by walk_tree.
+ (tree_overlaps_hard_reg_set): New function.
+ (decl_conflicts_with_clobbers_p): Rename to:
+ (tree_conflicts_with_clobbers_p). Take HARD_REG_SET * argument.
+ Use tree_overlaps_hard_reg_set. Changed caller.
+ * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Replace
+ decl_overlaps_hard_reg_set_p with tree_overlaps_hard_reg_set.
+ * cris.c (cris_md_asm_clobbers): Likewise.
+
+2006-02-09 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * reload1.c (emit_input_reload_insns): Delete code that tries to
+ inherit using find_equiv_reg.
+
+2006-02-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * c-common.h (flag_const_strings): Don't declare.
+ * c-common.c (flag_const_strings): Remove.
+ * c.opt (fconst_strings): Remove.
+ * c-opts.c (c_common_handle_option): Remove <OPT_fconst_strings>.
+ <OPT_Wwrite_strings>: Don't set flag_const_strings.
+ (c_common_init_options): Don't set flag_const_strings.
+ * doc/invoke.texi (-fno-const-strings): Remove documentation.
+
+2006-02-09 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (tlobits_cbranch): New pattern.
+ * arm.h (arm_select_cc_mode): For thumb, only return CC_Nmode if
+ testing a single bit.
+
+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/26179
+ * tree-ssa-pre.c (create_component_ref_by_pieces):
+ Handle RETURN_DECL like VAR_DECL.
+
+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/26134
+ * fold-const.c (fold_indirect_ref_1): Fold
+ "*(foo *)&complexfoo" to "__real__ complexfoo"
+ and "((foo*)&complexfoo)[1]" to "__imag__ complexfoo".
+
+2006-02-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-flow-inline.h (var_can_have_subvars):
+ Volatile variables should not have subvariables.
+
+2006-02-09 Diego Novillo <dnovillo@redhat.com>
+
+ PR 26180
+ * tree-vrp.c (vrp_int_const_binop): Detect overflow when
+ multiplying unsigned values.
+ Tidy comments.
+
2006-02-09 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (tls_call_delay): Fix oversight.