+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.
+
+2006-02-07 Ben Elliston <bje@au.ibm.com>
+
+ * config/i386/i386.c (ix86_scalar_mode_supported_p): New.
+ (TARGET_SCALAR_MODE_SUPPORTED_P): Define hook.
+ (classify_argument): Handle SDmode, DDmode, TDmode for 64-bit.
+ (ix86_return_in_memory): Handle TDmode.
+ (ix86_libcall_value): Handle SDmode, DDmode, TDmode.
+ (ix86_value_regno): Return non-TDmode decimal float modes in %eax.
+
+2006-02-06 Richard Sandiford <richard@codesourcery.com>
+
+ * reorg.c (dbr_schedule): Use dump_file instead of file.
+
+2006-02-06 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/25917
+ * config/ia64/predicates.md (extr_len_operand): New predicate.
+ * config/ia64/ia64.md (extv): Tighten constraints.
+ (extzv): Ditto.
+ (*tbit_and_2): Ditto.
+ (*tbit_and_3): Ditto.
+ (*tbit_or_2): Ditto.
+ (*tbit_or_3): Ditto.
+ (*bit_zero): Ditto.
+ (*bit_one): Ditto.
+
+2006-02-06 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/23359
+ * config/i386/i386.md (trap): Use ASM_SHORT instead of .word.
+
+2006-02-06 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-vrp.c (execute_vrp): Do not pass dump argument to.
+ loop_optimizer_init and loop_optimizer_finalize
+ * tree-ssa-sink.c (execute_sink_code): Ditto.
+ * tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
+ * tree-ssa-loop.c (tree_loop_optimizer_init, tree_ssa_loop_init,
+ tree_ssa_loop_done): Ditto.
+ * tree-ssa-pre.c (init_pre, fini_pre): Ditto.
+ * sched-ebb.c: Include output.h.
+ (schedule_ebbs): Do not use dump argument.
+ * value-prof.h (struct profile_hooks): Remove profile_dump_file.
+ * loop.c (loop_dump_stream): Removed.
+ (loop_optimize, rest_of_handle_loop_optimize): Do not use dump
+ argument.
+ (scan_loop, move_movables, find_and_verify_loops, mark_loop_jump,
+ emit_prefetch_instructions, loop_bivs_find, loop_bivs_check,
+ final_biv_value, loop_biv_eliminable_p, loop_givs_rescan,
+ loop_iterations, strength_reduce, record_biv, record_giv,
+ final_giv_value, check_final_value, check_ext_dependent_givs,
+ combine_givs, check_dbra_loop, maybe_eliminate_biv, load_mems,
+ try_copy_prop, loop_delete_insns, try_swap_copy_prop): Use
+ dump_file instead of loop_dump_stream.
+ * ddg.c (print_ddg_edge, print_ddg, vcg_print_ddg): Do not call
+ argument dump_file.
+ * reorg.c (dbr_schedule, rest_of_handle_delay_slots): Do not use
+ dump argument.
+ * flow.c (life_analysis, rest_of_handle_life): Ditto.
+ * haifa-sched.c: Include output.h
+ (schedule_insns, sched_init): Do not use dump argument.
+ * mode-switching.c (optimize_mode_switching): Ditto.
+ * modulo-sched.c (stats_file): Removed.
+ (print_node_sched_params): Do not call argument dump_file.
+ (sms_schedule_by_order, loop_canon_p, sms_schedule,
+ rest_of_handle_sms): Do not use dump argument. Use dump_file instead
+ of stats_file.
+ * cse.c (cse_main, rest_of_handle_cse, rest_of_handle_cse2): Do not
+ use dump argument.
+ * loop-init.c (loop_optimizer_init, loop_optimizer_finalize,
+ rtl_loop_init, rtl_loop_done): Ditto.
+ * global.c (global_alloc, rest_of_handle_global_alloc): Ditto.
+ * predict.c (combine_predictions_for_bb, tree_estimate_probability):
+ Ditto.
+ * recog.c (peephole2_optimize, rest_of_handle_peephole2): Ditto.
+ * lcm.c (pre_edge_lcm, pre_edge_rev_lcm): Ditto.
+ * regmove.c (fixup_match_1, fixup_match_2, regmove_optimize,
+ rest_of_handle_regmove, rest_of_handle_stack_adjustments): Ditto.
+ * emit-rtl.c (renumber_insns): Ditto.
+ * cfgexpand.c (add_reg_br_prob_note, expand_gimple_cond_expr,
+ expand_gimple_basic_block, tree_expand_cfg): Ditto.
+ * regclass.c (regclass): Ditto.
+ * tree-outof-ssa.c (analyze_edges_for_bb, perform_edge_inserts,
+ remove_ssa_form, rewrite_out_of_ssa): Ditto.
+ * reg-stack.c (compensate_edge, compensate_edges, convert_regs_1,
+ convert_regs_2, convert_regs, reg_to_stack, rest_of_handle_stack_regs):
+ Ditto.
+ * sched-rgn.c (schedule_insns, rest_of_handle_sched): Ditto.
+ * local-alloc.c (rest_of_handle_local_alloc): Do not pass dump_file
+ to regclass.
+ * gcse.c (gcse_file, debug_stderr): Removed.
+ (gcse_main, bypass_jumps, rest_of_handle_jump_bypass,
+ rest_of_handle_gcse): Do not use dump argument.
+ (cprop_jump, cprop_insn, do_local_cprop, cprop, find_implicit_sets,
+ one_cprop_pass, bypass_block, compute_pre_data, insert_insn_end_bb,
+ pre_edge_insert, pre_insert_copy_insn, pre_delete, one_pre_gcse_pass,
+ compute_code_hoist_vbeinout, compute_code_hoist_data,
+ one_code_hoisting_pass, trim_ld_motion_mems, update_ld_motion_stores,
+ compute_store_table, build_store_vectors, insert_insn_start_bb,
+ insert_store, remove_reachable_equiv_notes, replace_store_insn,
+ store_motion): Use dump_file instead of gcse_file.
+ * ipa-type-escape.c (type_escape_execute): Remove debugging comments.
+ * profile.c (profile_dump_file): Removed.
+ (branch_prob): Use dump_file instead of profile_dump_file.
+ * ipa.c (cgraph_remove_unreachable_nodes): Do not call argument
+ dump_file.
+ * tree-ssa-copy.c (dump_copy_of): Ditto.
+ * rtl-factoring.c (rtl_seqabstr, rest_of_rtl_seqabstr): Do not pass
+ dump file to life_analysis.
+ * bt-load.c (branch_target_load_optimize): Ditto.
+ * cfgcleanup.c (rest_of_handle_jump2): Do not pass dump_file to
+ renumber_insns.
+ * rtl.h (cse_main, renumber_insns, schedule_insns, schedule_ebbs,
+ regclass, dbr_schedule): Declaration changed.
+ * sched-int.h (sched_init): Declaration changed.
+ * tree-profile.c (tree_profile_dump_file): Removed.
+ (tree_profile_hooks): Removed profile_dump_file hook.
+ * rtl-profile (rtl_profile_dump_file): Removed.
+ (rtl_profile_hooks): emoved profile_dump_file hook.
+ * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize): Declaration
+ changed.
+ * c-gimplify.c (c_genericize): Do not call local variable dump_file.
+ * tree-cfg.c (build_tree_cfg): Ditto.
+ * Makefile.in (haifa-sched.o, sched-ebb.o): Add output.h dependency.
+ * basic-block.h (life_analysis, pre_edge_lcm, pre_edge_rev_lcm):
+ Declaration changed.
+ * config/sh/sh.c (sh_output_mi_thunk): Do not pass dump_file to
+ life_analysis and schedule_insns.
+ * config/m68hc11/m68hc11.c (m68hc11_reorg): Do not pass dump_file to
+ life_analysis.
+ * config/mt/mt.c (mt_machine_reorg): Do not pass dump_file to
+ dbr_schedule.
+ * config/mips/mips.c (mips_reorg): Ditto.
+ * config/ia64/ia64.c (ia64_reorg): Do not pass dump_file to
+ schedule_ebbs.
+
+2006-02-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
+ (s390_mangle_fundamental_type): New.
+ * config/s390/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
+ Define.
+
+ * config/alpha/alpha.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
+ (alpha_mangle_fundamental_type): New.
+ * config/alpha/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
+ Define.
+
+ * config/sparc/linux.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
+ Define.
+ * config/sparc/linux64.h (TARGET_ALTERNATE_LONG_DOUBLE_MANGLING):
+ Define.
+ * config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
+ (sparc_mangle_fundamental_type): New.
+
+2006-02-06 Jakub Jelinek <jakub@redhat.com>
+
+ * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file.
+ (s390x-*-linux*): Likewise.
+ * config/s390/t-linux64 (SHLIB_MAPFILES): Removed.
+ * config/s390/t-linux: New file.
+
+2006-02-02 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/i386/sync.md (sync_add<mode>, sync_sub<mode>, sync_ior<mode>,
+ sync_and<mode>, sync_xor<mode>): Operand 0 is in-out.
+
+2006-02-06 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-pre.c (bb_value_sets_t): Add antic_safe_loads.
+ (ANTIC_SAFE_LOADS): New macro.
+ (find_or_generate_expression): Add prototype.
+ (set_contains_value): Allow null set for sake of not always having
+ to allocate ANTIC_SAFE_LOADS.
+ (phi_translate): Move placement of AGGREGATE_TYPE_P check.
+ Allow COMPONENT_REF too.
+ (valid_in_set): Allow COMPONENT_REF.
+ Check ANTIC_SAFE_LOADS too.
+ (compute_antic_aux): Print out ANTIC_SAFE_LOADS.
+ (compute_rvuse_and_antic_safe): Add ANTIC_SAFE computation, and
+ rename.
+ (can_PRE_operation): Add COMPONENT_REF.
+ (create_component_ref_by_pieces): New function.
+ (create_expression_by_pieces): Use create_component_ref_by_pieces.
+ (insert_aux): Move AGGREGATE_TYPE_P check here.
+ (compute_avail): Set bb local stmt uids.
+ (pass_pre): Use TODO_update_ssa_only_virtuals.
+
+2006-02-06 Ben Elliston <bje@au.ibm.com>
+
+ * configure.ac: Unconditionally disable decimal float by default.
+ * configure: Regenerate.
+
+2006-02-06 Ben Elliston <bje@au.ibm.com>
+
+ * read-rtl.c (read_name): Terminate reading on EOF.
+
+2006-02-06 Ben Elliston <bje@au.ibm.com>
+
+ * dfp.c (decimal_real_arithmetic): Change second argument type
+ from int to enum tree_code. Do not always return true, but now
+ return result of any call to decimal_do helper functions.
+ * dfp.h (decimal_real_arithmetic): Update prototype.
+
+2006-02-05 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sol2-bi.h (SPARC_DEFAULT_CMODEL): Set to CM_MEDMID.
+
+2006-02-05 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/25251
+ * tree-cfg.c (cleanup_dead_labels): Also don't remove
+ forced labels.
+
+2006-02-04 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-vrp.c (cfg_loops): Removed.
+ (adjust_range_with_scev, vrp_visit_assignment, execute_vrp):
+ Use current_loops instead of cfg_loops. Pass flags to
+ loop_optimizer_init.
+ * cfgloopmanip.c (fix_loop_structure): Update only available
+ information.
+ * tree-ssa-loop-ch.c (copy_loop_headers): Pass flags to
+ loop_optimizer_init.
+ * modulo-sched.c (build_loops_structure): Removed.
+ (sms_schedule): Use loop_optimizer_init.
+ * loop-init.c (loop_optimizer_init): Use flags to determine
+ which properties of loops to prepare.
+ (rtl_loop_init): Pass flags to loop_optimizer_init.
+ * tree-ssa-sink.c (execute_sink_code): Ditto.
+ * tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
+ * tree-ssa-pre.c (init_pre): Ditto.
+ * cfgloop.h (LOOPS_NORMAL): New.
+ (loop_optimizer_init): Declaration changed.
+
+2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files.
+ * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of
+ pa/t-pa.
+ * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of
+ pa/t-pa.
+ * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of
+ pa/x-ada.
+ * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules.
+ * pa/t-pa64: Delete quadlib.c rule.
+ * pa/x-ada: Revert last change.
+ * pa/t-pa: Revert last change. Delete quadlib.c rule.
+
+2006-02-04 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26087
+ * rtlanal.c (canonicalize_condition): Do not cross basic block
+ boundaries.
+
+2006-02-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/24444
+ * config/ia64/ia64.c: Include debug.h.
+ (MAX_ARTIFICIAL_LABEL_BYTES): New.
+ (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New.
+ (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0.
+ (process_epilogue, process_set, process_for_unwind_directive):
+ Output unwind info only if requested. Add CFA info if requested.
+ Add new arguments as needed. Adjust callers.
+ * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override
+ incorrect default.
+ (DWARF2_FRAME_INFO): Define to zero.
+ * config/ia64/unwind-ia64.c: Remove code that compensated for
+ the CFA offset error fixed above.
+ * config/ia64/t-ia64 (ia64.o): Depend on debug.h.
+ * dwarf2out.c (DWARF2_FRAME_INFO): Define default.
+ (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for
+ -funwind-tables and -fexceptions to enable frame info.
+ (dwarf2out_frame_init): Define initial CFA even if
+ DWARF2_UNWIND_INFO is disabled. Call initial_return_save if
+ DWARF2_UNWIND_INFO is nonzero, not just defined.
+ (dwarf2out_frame_finish): Output non-EH call frame info only
+ if DWARF2_FRAME_INFO is nonzero.
+ (convert_cfa_to_loc_list,
+ compute_frame_pointer_to_cfa_displacement): Define even if
+ unwind info is not supported.
+ (gen_subprogram_die): Use the above unconditionally. Remove
+ legacy alternate code.
+ * toplev.c (compile_file): Compile in call to
+ dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined.
+ (lang_dependent_init): Ditto for dwarf2out_frame_init.
+
+2006-02-04 David Edelsohn <edelsohn@gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
+ IBM extended float format long double as "g" on powerpc*-linux.
+
+2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/25926
+ * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10.
+ * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10.
+
+2006-02-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/25979
+ * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now.
+
+ PR middle-end/25977
+ * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO
+ on the return slot if it's an NRV.
+
+2006-02-03 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER.
+ (dump_use, add_derived_ivs_candidates, determine_use_iv_cost,
+ rewrite_use): Do not handle USE_OUTER.
+ (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer,
+ add_iv_outer_candidates, may_replace_final_value,
+ determine_use_iv_cost_outer, rewrite_use_outer): Removed.
+ (find_interesting_uses_op): Functionality of
+ find_interesting_uses_outer_or_nonlin moved here.
+ (find_interesting_uses_outside): Use find_interesting_uses_op.
+
+2006-02-03 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/25960
+ * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
+
+2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com>
+ Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR target/25864
+ * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
+ "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
+ * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
+ * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
+ and dxr fields.
+ (z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
+ (s390_rtx_costs): Use the new fields to calculate rtx costs.
+ (s390_secondary_input_reload_class, s390_secondary_output_reload_class):
+ Define secondary reloads for TFmode moves.
+ (constant_modes): Add TFmode.
+ (NR_C_MODES): Set to 8.
+ * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
+ builtin define.
+ (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
+ (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
+ CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
+ * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
+ fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
+ (FPR mode macro): Add TFmode.
+ (DSF mode macro): New.
+ (<de>, <dee> mode attributes): Removed.
+ (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
+ ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
+ "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
+ "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
+ "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
+ "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
+ "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
+ "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
+ "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
+ "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
+ "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
+ "*negabs<mode>2", "sqrt<mode>2"):
+ Changed <de> to <xde>. R constraint replaced by <Rf>.
+ ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
+ <Rf>.
+ ("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
+ ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
+ ("*movtf_64", "*movtf_31"): New insn definitions followed by 5
+ splitters.
+ ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
+ "extenddftf2", "extendsftf2"): New expanders.
+ ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
+ "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
+ "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
+ * config/s390/s390.opt (mlong-double-128, mlong-double-64):
+ New options.
+ * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
+ * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
+ __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
+ __floatditf): Add a GCC_4.1.0 symbol version tag.
+ * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
+ the new options.
+
2006-02-02 Andrew Pinski <pinskia@physics.uc.edu>
PR target/25377
PR ada/25900
* tree-vrp.c (extract_range_from_assert): When merging a VR_RANGE
- with a VR_ANTI_RANGE and the VR_ANTI_RANGEis completely contained
+ with a VR_ANTI_RANGE and the VR_ANTI_RANGE is completely contained
within the VR_RANGE, use the VR_RANGE as the result, not the
VR_ANTI_RANGE.
- (adjust_range_with_scev): Reject ranges from SCEV which are out
- of bounds for the type.
+ (adjust_range_with_scev): Reject ranges from SCEV which are out of
+ bounds for the type.
2006-01-26 Daniel Berlin <dberlin@dberlin.org>
2006-01-20 Alan Modra <amodra@bigpond.net.au>
+ PR target/25668
* libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
Double TFmode.
(__floatundisf, __floatundidf): Likewise.