+2006-02-10 Jeff Law <law@redhat.com>
+
+ 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.
+
+2006-02-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/25979
+ * tree.def: Elaborate on difference from MODIFY_EXPR.
+ * doc/c-tree.texi (INIT_EXPR): Likewise.
+ * gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
+ (gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
+ (gimplify_target_expr): Likewise.
+ (gimplify_cond_expr): Remove target handling.
+ (gimplify_modify_expr): Don't clobber INIT_EXPR code here.
+ (gimplify_expr): Clobber it here.
+ (gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
+ Do return slot optimization if we have an INIT_EXPR.
+
+ PR tree-opt/24365
+ * tree-inline.c (declare_return_variable): Also clear
+ DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
+
+ PR c++/16405
+ * gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
+
+ PR middle-end/22439
+ * gimplify.c (gimplify_one_sizepos): Fix typo.
+
+2006-02-08 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/21417
+ * tree-ssa-threadedge.c (thread_across_edge): Reject threading
+ across a backedge if the control statement at the end of the
+ block is data dependent on other statements in the same block.
+ (record_temporary_equivalences_from_stmts): Remove over-conservative
+ test for threading across backedges.
+
+ * tree-ssa-dce.c (remove_dead_statement): When removing a dead
+ control statement, handle all three special cases in the same
+ manner as they all have the same desired solution. No longer
+ special case edge flag updating when the post dominator is
+ the exit block.
+
+2006-02-08 Roger Sayle <roger@eyesopen.com>
+
+ * tree.def (CHAR_TYPE): Remove.
+ * dbxout.c (dbxout_type): Delete dead handling of CHAR_TYPE.
+ * dwarf2out.c (base_type_die, is_base_type): Likewise.
+ (gen_type_die) <ARRAY_TYPE>: Remove handling of CHAR_TYPE arrays.
+ (gen_string_type_die): Delete unreachable function.
+
+ * tree-pretty-print.c (dump_generic_node): Don't handle CHAR_TYPE.
+ * tree.c (build_int_cst_wide, type_contains_placeholder_1,
+ type_hash_eq, variably_modified_type_p, walk_type_fields): Likewise.
+ * tree.h (NUMERICAL_TYPE_CHECK, INTEGRAL_TYPE_P): Likewise.
+ * builtins.c (type_to_class): Likewise.
+ * fold-const.c (fold_convert, build_range_check,
+ merge_ranges): Likewise.
+ * expr.c (count_type_elements): Likewise.
+ * c-pretty-print.c (pp_c_type_specifier): Likewise.
+ * stor-layout.c (layout_type): Likewise.
+ * ipa-type-escape.c (type_to_consider): Likewise.
+ * gimplify.c (omp_firstprivatize_type_sizes,
+ gimplify_type_sizes): Likewise.
+ * explow.c (promote_mode): Likewise.
+ * tree-sra.c (is_sra_scalar_type): Likewise.
+ * varasm.c (output_constant): Likewise.
+ * tree-inline.c (remap_type_1): Likewise.
+ * convert.c (convert_to_pointer, convert_to_real,
+ convert_to_integer, convert_to_complex): Likewise.
+
+2006-02-08 Daniel Berlin <dberlin@dberlin.org>
+
+ * df-scan.c (df_def_record_1): A set destination may
+ be a parallel regardless of mode.
+
+2006-02-08 Roger Sayle <roger@eyesopen.com>
+
+ PR target/22209
+ * config/mips/mips.h (MIN_UNITS_PER_WORD): Don't define for libgcc.
+ * config/mips/_tilib.c: Remove.
+ * config/fixtfdi.c: New libgcc source file.
+ * config/fixunstfdi.c: New source file.
+ * config/floatditf.c: New source file.
+ * config/floatunditf.c: New souce file.
+ * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
+ files above instead of config/mips/_tilib.c.
+ * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
+
+2006-02-08 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/26169
+ * tree-vrp.c (execute_vrp): Perform any queued SSA updates before
+ threading jumps.
+
+2006-02-08 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * df.h (DF_REG_SIZE): Return the length of the initialized
+ part of the array.
+
+2006-02-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcc/config/m68k/lb1sf68.asm (__divsf3, __divdf3, __mulsf3,
+ __muldf3): Return a correctly signed zero.
+
+2006-02-08 Paolo Bonzini <bonzini@gnu.org>
+
+ * passes.c (register_one_dump_file): Accept the current properties
+ instead of pass number. Adjust call to dump_register. Remove
+ duplicated code.
+ (register_dump_files): Now a wrapper around...
+ (register_dump_files_1): ... this one. Do not modify the pass
+ structure.
+ (next_pass_1): Cosmetic fix.
+ (execute_todo): Keep second parameter only. Use curr_properties
+ instead of fetching it from the pass structure. Check and set
+ last_verified.
+ (execute_one_pass): Handle TODO_set_props. Use curr_properties
+ instead of fetching it from the pass structure. Fix calls to
+ execute_todo. Update curr_properties and initialize .vcg RTL dump
+ after running the pass. Reset last_verified.
+ * tree-dump.c (dump_files): Renumber consecutively. Put .cgraph dump
+ at the beginning.
+ (FIRST_AUTO_NUMBERED_DUMP): New.
+ (dump_register): Remove "num" parameter, assign it within the
+ function.
+ (get_dump_file_name): Modify template for dumps.
+ * tree-dump.h (dump_register): Adjust prototype.
+ * tree-pass.h (enum tree_dump_index): Move cgraph at the beginning.
+ (PROP_trees): Add PROP_gimple_lomp.
+ (TODO_set_props): New.
+ * gimple-low.c (pass_lower_cf): Do not destroy PROP_gimple_lcf.
+ * tree-eh.c (pass_lower_eh): Do not destroy PROP_gimple_leh.
+ * cfgexpand.c (pass_expand): Destroy PROP_trees.
+
+2006-02-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
+ (sparc64-*-linux*): Likewise.
+ * config/sparc/t-linux64 (SHLIB_MAPFILES): Removed.
+ * config/sparc/t-linux: New file.
+ * config/sparc/libgcc-sparc-glibc.ver (__fixtfdi, __fixunstfdi,
+ __floatditf): Export at GCC_LDBL_3.0 if -m32 -mlong-double-128.
+ (__divtc3, __multc3, __powitf2): Export at GCC_LDBL_4.0.0 if
+ -m32 -mlong-double-128.
+
+ * config.gcc (alpha*-*-linux*): Add alpha/t-linux to tmake_file.
+ * config/alpha/t-linux: New file.
+ * config/alpha/libgcc-alpha-ldbl.ver: New file.
+
+ * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Define
+ __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128.
+ (CPP_SUBTARGET_SPEC): Don't add -D__LONG_DOUBLE_128__ here.
+ * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Define
+ __LONG_DOUBLE_128__ if TARGET_LONG_DOUBLE_128 and TARGET_ARCH32.
+ (CPP_ARCH32_SPEC): Remove.
+
+2006-02-07 Uttam Pawar <uttamp@us.ibm.com>
+
+ PR tree-optimization/26145
+ * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free
+ bbs pointer.
+
+2006-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/26109
+ * pa.c (attr_length_indirect_call): Don't return length 8 for distances
+ >= 240000 when generating code for SOM runtime.
+ (output_indirect_call): Don't use "b,l" instruction for indirect calls
+ to $$dyncall when generating code for SOM runtime..
+
+2006-02-07 Dirk Mueller <dmueller@suse.com>
+
+ PR c++/18150
+ * doc/invoke.texi (-Wsequence-point): Update documentation
+ that -Wsequence-point is implemented for C++ as well.
+
+2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sol26.h (CPP_SUBTARGET_SPEC): Accept -pthread.
+ * config/sol2.h (CPP_SUBTARGET_SPEC): Likewise.
+ (LIB_SPEC): Likewise.
+ * doc/invoke.texi (SPARC options): Document -pthread.
+
+2006-02-07 Geoffrey Keating <geoffk@apple.com>
+
+ * config/i386/i386.c (ix86_delegitimize_address): Support Darwin
+ PIC addresses.
+
+2006-02-07 Roger Sayle <roger@eyesopen.com>
+
+ * config/sparc/sparc.c (sparc_type_code): Don't handle CHAR_TYPE.
+ Correct comment describing BOOLEAN_TYPE.
+
+2006-02-07 Dirk Mueller <dmueller@suse.com>
+
+ * c.opt: C++ frontend supports -Wdiv-by-zero.
+ * c-opts.c (c_common_handle_option): Remove dead case.
+
+2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * configure.ac (TLS assembler check): Do not enable TLS by
+ default on SPARC/Solaris before version 10.
+ * configure: Regenerate.
+
+2006-02-07 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/invoke.texi (xl-compat): Document conversion and support
+ routine names.
+
+2006-02-07 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (find_conditional_asserts): Update comments.
+ (simplify_stmt_for_jump_threading): New.
+ (identify_jump_threads, finalize_jump_threads): New.
+ (vrp_finalize): Call identify_jump_threads.
+ (execute_vrp): Call finalize_jump_threads.
+ * tree-ssa-dom.c (struct opt_stats_d): Remove num_iterations field.
+ (vrp_element, vrp_data, vrp_element_p): Remove.
+ (vrp_hash_elt, vrp_variables_stack): Remove.
+ (vrp_hash, vrp_eq, record_range): Remove.
+ (simplify_cond_and_lookup_avail_expr): Remove.
+ (extract_range_from_cond): Remove.
+ (thread_across_edge): Relocated into tree-ssa-threadedge.c.
+ (simplify_stmt_for_jump_threading): New.
+ (dom_thread_across_edge): New wrapper.
+ (tree_ssa_dominator_optimize): No longer initialize or
+ finalize any of the VRP datastructures. Remove iteration
+ step and simplify as a result of removal of iteration step.
+ (pass_dominator): Perform a cfg cleanup after DOM.
+ (dom_opt_finalize_block): Use the new common routines
+ for threading jumps. Simplify stack management slightly.
+ No longer need to unwind VRP state.
+ (record_equivalences_from_incoming_edge): No longer record
+ VRP information.
+ (eliminate_redundant_computations): No longer call
+ simplify_cond_and_lookup_avail_expr.
+ * tree-flow.h (potentially_threadable_block): Prototype.
+ (thread_across_edge): Likewise.
+ * Makefile.in (OBJS-common): Add tree-ssa-threadedge.o
+ (tree-ssa-threadedge.o): Add dependencies.
+ * tree-ssa-threadedge.c: New file.
+ * passes.c (init_optimization_passes): Merge PHIs before
+ calling VRP. Run VRP again late in the SSA optimization pipeline.
+
+2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * df-core.c (df_set_blocks): Do not dereference function pointers.
+ (df_finish1): Likewise.
+ (df_hybrid_search_forward): Likewise.
+ (df_hybrid_search_backward): Likewise.
+ (df_iterative_dataflow): Likewise.
+ (df_analyze_problem): Likewise.
+ (df_compact_blocks): Likewise.
+ (df_dump): Likewise.
+ * df-scan.c (df_rescan_blocks): Likewise.
+ (df_record_entry_block_defs): Likewise.
+
+ * genconditions.c (write_conditions): Guard the definition of
+ 'insn_conditions' with the check on GCC version.
+ (write_writer): Guard the traversal 'insn_conditions' with
+ the check on GCC version.
+
+2006-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR c++/26140
+ Revert
+ 2006-01-30 Richard Guenther <rguenther@suse.de>
+ PR c++/23372
+ * gimplify.c (gimplify_target_expr): Handle easy cases
+ without creating a temporary.
+
+2006-02-07 Pete Steinmetz <steinmtz@us.ibm.com>
+
+ * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate
+ use of float in probability computations. Use edge probabilities
+ in place of statically computed probabilities.
+ (min_spec_prob): New static variable.
+ (schedule_insns): Initialize it.
+ (GET_SRC_PROB): Removed.
+ * doc/invoke.texi (min-sched-prob): Renamed to min-spec-prob.
+
+2006-02-07 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/24444
+ * config/ia64/unwind-ia64.c: Revert last change.
+ * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Removed.
+ (INCOMING_FRAME_SP_OFFSET): Define.
+
2006-02-06 Roger Sayle <roger@eyesopen.com>
* config/ia64/ia64.c (hfa_element_mode): Don't handle CHAR_TYPE.