X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=5491d5b28613e53e91919f4b34f2cea987ab60e8;hb=03dd3bfbea6218fb4807ab62bf18a5fe4b49dd31;hp=2c42abf61aa1004560dd5ce2ac74468edc0cc244;hpb=6003588fece0ad48b319f5fab4cced57adea8a8d;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2c42abf61aa..5491d5b2861 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,869 @@ +2006-03-05 Kazu Hirata + + * regclass.c (reg_scan_update): Remove. + (reg_scan_mark_refs): Remove the last argument. + * rtl.h: Remove the prototype for reg_scan_update. + +2006-03-04 Kazu Hirata + + * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c, + combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c, + config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c, + config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c, + df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c, + loop-invariant.c, omp-low.c, opts.c, passes.c, + rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c, + tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c, + tree-ssa-structalias.c, tree-ssa-threadedge.c, + tree-ssa-threadupdate.c, tree-vect-patterns.c, + tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c, + unwind-dw2.c: Fix comment typos. Follow spelling conventions. + +2006-03-04 Kazu Hirata + + * dwarf2out.c (dwarf2out_add_library_unit_info): Remove. + * dwarf2out.h: Remove the prototype for + dwarf2out_add_library_unit_info. + +2006-03-04 Kazu Hirata + + * tree.c (add_var_to_bind_expr): Remove. + * tree.h: Remove the prototype for add_var_to_bind_expr. + +2006-03-04 Kazu Hirata + + * regclass.c (n_non_fixed_regs): Remove. + (init_reg_sets_1, globalize_reg): Remove all uses of + n_non_fixed_regs. + * hard-reg-set.h: Remove the extern for n_non_fixed_regs. + +2006-03-04 Kazu Hirata + + * rtlanal.c (insns_safe_to_move_p): Remove. + * rtl.h: Remove the prototype for insns_safe_to_move_p. + +2006-03-04 Kazu Hirata + + * expmed.c (expand_mult_add): Remove. + * expr.h: Remove the prototype for expand_mult_add. + +2006-03-04 Jakub Jelinek + + * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET + and REG_SAVED_VAL_EXP constants. + * unwind-dw2.c (struct _Unwind_Context): Add by_value array. + (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr): + Handle regs stored by value. + (_Unwind_SetGRValue, _Unwind_GRByValue): New functions. + (execute_cfa_program): Handle DW_CFA_val_offset, + DW_CFA_val_offset_sf and DW_CFA_val_expression. + (uw_update_context_1): Handle REG_SAVED_REG with regs stored by + value specially. Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP. + (uw_install_context_1): Handle target regs stored by value. + +2006-03-03 Daniel Berlin + + * tree-sra.c (tree_sra): Return todoflags; + (generate_one_element): Set TODO_update_smt_usage if needed. + (pass_sra): Remove TODO_update_smt_usage. + * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some + parameter. + (tree_ssa_forward_propagate_single_use_vars): Return + TODO_update_smt_usage if we need to update SMT usage. + (pass_forwprop): Remove TODO_update_smt_usage. + +2006-03-03 Diego Novillo + + * tree-ssa-operands.c: Tidy whitespace. Fix spelling. + (correct_use_link): Remove reference to get_stmt_operands. + (update_stmt_operands): Likewise. + (get_modify_expr_operands): New function factored out of + parse_ssa_operands and get_expr_operands. + Try to create V_MUST_DEFs for LHS by default. + (get_expr_operands) : Call + get_modify_expr_operands. + : Handle together with ARRAY_REF. + : Clear opf_kill_def from FLAGS. + (parse_ssa_operands) : Call + get_modify_expr_operands. + +2006-03-03 Kazu Hirata + + * tree-dfa.c (referenced_var_lookup_if_exists): Remove. + * tree-flow.h: Remove the prototype for + referenced_var_lookup_if_exists. + +2006-03-03 Steve Ellcey + + PR rtl-optimization/26345 + PR target/19061 + * config/ia64/predicates.md (basereg_operand): Don't look in subregs. + +2006-03-03 Roger Sayle + + PR tree-optimization/26524 + * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use + fold_convert to create a constant of the appropriate type. + +2006-03-03 Richard Sandiford + + * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of + SYMBOL_REF_IN_BLOCK_P. + * doc/rtl.texi: Likewise. Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead + of SYMBOL_FLAG_IN_BLOCK. + * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P + instead of SYMBOL_REF_IN_BLOCK_P. + * explow.c (use_anchored_address): Likewise. + * rtl.c (rtx_size): Likewise. + * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO + instead of SYMBOL_FLAG_IN_BLOCK. + (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of + SYMBOL_REF_IN_BLOCK_P. + (assemble_variable): Likewise. + (output_constant_def_contents): Likewise. + (output_constant_pool): Likewise. + (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO + instead of SYMBOL_FLAG_IN_BLOCK. + * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of + SYMBOL_REF_IN_BLOCK_P. + (SYMBOL_REF_BLOCK): Likewise. + (SYMBOL_REF_OFFSET): Likewise. + (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of + SYMBOL_REF_IN_BLOCK_P. + (SYMBOL_FLAG_IN_BLOCK): Replace with... + (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this. + (SYMBOL_REF_IN_BLOCK_P): Replace with... + (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this. + +2006-03-03 Jakub Jelinek + + * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto. + +2006-03-02 Roger Sayle + + * simplify-rtx.c (simplify_unary_operation): When simplifying + (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure + that we perform the right shift in the appropriate mode, and + then extend or truncate the result to requested mode. + +2006-03-03 Zdenek Dvorak + + * gengtype.c (main): Handle double_int type. + * tree.h (struct tree_int_cst): Make type of int_cst double_int. + * double-int.c: New file. + * double-int.h: New file. + * system.h: Include doubleint.h. + * Makefile.in (SYSTEM_H): Include double-int.h. + (double-int.o): Add. + +2006-03-03 Joseph S. Myers + + PR bootstrap/26478 + * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before + copying over it. + +2006-03-02 Zdenek Dvorak + + * tree-vrp.c (remove_range_assertions): Do not update statements + unnecessarily. + +2006-03-02 Zdenek Dvorak + + * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg + cleanup. + * gcse.c (rest_of_handle_gcse): Ditto. + * except.c (gate_handle_eh): Ditto. + * cfgcleanup.c (rest_of_handle_jump2): Ditto. + * basic-block.h (CLEANUP_PRE_LOOP): Remove. + +2006-03-02 Eric Christopher + + * config/i386/i386.c (machopic_output_stub): Add indirection to + jump. + +2006-03-02 Zdenek Dvorak + + * loop.c: Removed. + +2006-03-02 David S. Miller + + Sun Niagara specific optimizations. + * config.gcc: Recognize niagara as target. + * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara. + (TARGET_CPU_niagara): Define. + (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara. + (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara. + (CPP_CPU_SPEC): Handle -mcpu=niagara. + (ASM_CPU_SPEC): Likewise. + (PROCESSOR_NIAGARA): New enum entry. + (REGISTER_MOVE_COST): Handle Niagara. + (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise. + * config/sparc/sparc.c (niagara_costs): New processor_costs entry. + (sparc_override_options): Recognize "niagara", set appropriate + default MASK_* values for it, and align functions to 32-bytes + by default just like ULTRASPARC/ULTRASPARC3. + (sparc_initialize_trampoline): Handle niagara like ultrasparc. + (sparc64_initialize_trampoline): Likewise. + (sparc_use_sched_lookahead): Use zero for niagara. + (sparc_issue_rate): Use one for niagara. + * config/sparc/niagara.md: New file. + * config/sparc/sparc.md: Include it. + * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC, + ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately + when default cpu is niagara. + (CPP_CPU_SPEC): Handle -mcpu=niagara. + (ASM_CPU_SPEC): Likewise. + * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately + when default cpu is niagara. + (ASM_CPU_SPEC): Handle -mcpu=niagara. + * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara + just like v9/ultrasparc/ultrasparc3. + * doc/invoke.texi: Add documentation for "niagara" and improve + existing documentation for ultrasparc variants. + +2006-03-02 Diego Novillo + + * tree-ssa-operands.c (update_stmt_operands): Update documentation. + +2006-03-02 Richard Sandiford + + * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document. + (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS, + and say that only one is needed. + * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null. + * target.h (have_switchable_bss_sections): New hook. + * explow.c (use_anchored_address): Check that the symbol is in a block. + * varasm.c (tls_comm_section, comm_section, lcomm_section) + (bss_noswitch_section): New variables. + (get_unnamed_section): Add SECTION_UNNAMED to the flags. + (get_noswitch_section): New function. + (get_block_for_section): Allow SECT to be null. + (unlikely_text_section_p): Use SECTION_STYLE. + (bss_initializer_p): New function. + (get_variable_section): Move earlier in file. Take a new argument, + prefer_noswitch_p. Move bss checks from assemble_variable to here. + Return one of the new *_sections in such cases. + (get_block_for_decl): New function, extracting some logic from + use_blocks_for_decl_p. + (change_symbol_section): Remove in favor of... + (change_symbol_block): ...this new function. + (use_blocks_for_decl_p): Remove checks now performed by + get_block_for_decl. + (make_decl_rtl): Use change_symbol_block and get_block_for_decl. + (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of... + (emit_local, emit_bss, emit_common): ...these new functions. + Return true if the alignment was honored. + (emit_tls_common): New function. + (asm_emit_uninitialised): Delete. + (assemble_variable_noswitch): New function, split out from... + (assemble_variable): ...here. Don't make decisions about common + variables here. Globalize all public decls that go into non-common + sections. Check whether SYMBOL_REF_BLOCK is null. + (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null. + (output_constant_pool): Likewise. + (init_varasm_once): Initialize the new section variables. + (have_global_bss_p): New function. + (categorize_decl_for_section): Use bss_initializer_p. + (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH. + (place_block_symbol): Assert that the symbol must be in a block. + * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro. + (TARGET_INITIALIZER): Include it. + * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative. + * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros. + (SECTION_MACH_DEP): Bump by two. + (SECTION_UNNAMED, SECTION_NOSWITCH): New macros. + (unnamed_section): Mention SECTION_UNNAMED in comment. + (named_section): Likewise SECTION_NAMED. + (noswitch_section_callback): New type. + (noswitch_section): New structure. + (section): Add a noswitch_section alternative. + (SECTION_STYLE): New macro. + (tls_comm_section, comm_section, lcomm_section): Declare. + (bss_noswitch_section, have_global_bss_p): Declare. + * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. + * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): + Override. + * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override. + * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): + Override. + +2006-03-02 Daniel Berlin + + * gcc/tree-vrp.c (execute_vrp): Return value. + * gcc/regrename.c (rest_of_handle_regrename): Ditto. + * gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto. + * gcc/tree-complex.c (tree_lower_complex): Ditto. + (tree_lower_complex_O0): Ditto. + * gcc/tracer.c (rest_of_handle_tracer): Ditto. + * gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto. + * gcc/postreload.c (rest_of_handle_postreload): Ditto. + * gcc/tree-tailcall.c (execute_tail_recursion): Ditto. + (execute_tail_calls): Ditto. + * gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto. + * gcc/tree.h (init_function_for_compilation): Ditto. + * gcc/ipa-cp.c (ipcp_driver): Ditto. + * gcc/tree-scalar-evolution.c (scev_const_prop): Ditto. + * gcc/tree-scalar-evolution.h (scev_const_prop): Ditto. + * gcc/final.c (compute_alignments): Ditto. + (rest_of_handle_final): Ditto. + (rest_of_handle_shorten_branches): Ditto. + (rest_of_clean_state): Ditto. + * gcc/omp-low.c (execute_expand_omp): Ditto. + (execute_lower_omp): Ditto. + * gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto. + * gcc/ipa-reference.c (static_execute): Ditto. + * gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto. + * gcc/reorg.c (rest_of_handle_delay_slots): Ditto. + (rest_of_handle_machine_reorg): Ditto. + * gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto. + * gcc/flow.c (recompute_reg_usage): Ditto. + (rest_of_handle_remove_death_notes): Ditto. + (rest_of_handle_life): Ditto. + (rest_of_handle_flow2): Ditto. + * gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto. + * gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto. + (do_ssa_store_ccp): Ditto. + (execute_fold_all_builtins): Ditto. + * gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto. + * gcc/modulo-sched.c (rest_of_handle_sms): Ditto. + * gcc/ipa-pure-const.c (static_execute): Ditto. + * gcc/cse.c (rest_of_handle_cse): Ditto. + (rest_of_handle_cse2): Ditto. + * gcc/web.c (rest_of_handle_web): Ditto. + * gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto. + * gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto. + * gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto. + * gcc/tree-nrv.c (tree_nrv): Ditto. + (execute_return_slot_opt): Ditto. + * gcc/tree-ssa-alias.c (compute_may_aliases): Ditto. + (create_structure_vars): Ditto. + * gcc/loop-init.c (rtl_loop_init): Ditto. + (rtl_loop_done): Ditto. + (rtl_move_loop_invariants): Ditto. + (rtl_unswitch): Ditto. + (rtl_unroll_and_peel_loops): Ditto. + (rtl_doloop): Ditto. + * gcc/gimple-low.c (lower_function_body): Ditto. + (mark_used_blocks): Ditto. + * gcc/tree-ssa-sink.c (execute_sink_code): Ditto. + * gcc/ipa-inline.c (cgraph_decide_inlining): Ditto. + (cgraph_early_inlining): Ditto. + * gcc/global.c (rest_of_handle_global_alloc): Ditto. + * gcc/jump.c (cleanup_barriers): Ditto. + (purge_line_number_notes): Ditto. + * gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto. + (rest_of_handle_if_after_reload): Ditto. + * gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto. + (tree_ssa_loop_im): Ditto. + (tree_ssa_loop_unswitch): Ditto. + (tree_vectorize): Ditto. + (tree_linear_transform): Ditto. + (tree_ssa_loop_ivcanon): Ditto. + (tree_ssa_empty_loop): Ditto. + (tree_ssa_loop_bounds): Ditto. + (tree_complete_unroll): Ditto. + (tree_ssa_loop_prefetch): Ditto. + (tree_ssa_loop_ivopts): Ditto. + (tree_ssa_loop_done): Ditto. + * gcc/predict.c (tree_estimate_probability): Ditto. + * gcc/recog.c (split_all_insns_noflow): Ditto. + (rest_of_handle_peephole2): Ditto. + (rest_of_handle_split_all_insns): Ditto. + * gcc/tree-eh.c (lower_eh_constructs): Ditto. + * gcc/regmove.c (rest_of_handle_regmove): Ditto. + (rest_of_handle_stack_adjustments): Ditto. + * gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto. + * gcc/function.c (instantiate_virtual_regs): Ditto. + (init_function_for_compilation): Ditto. + (rest_of_handle_check_leaf_regs): Ditto. + * gcc/gcse.c (rest_of_handle_jump_bypass): Ditto. + (rest_of_handle_gcse): Ditto. + * gcc/ipa-type-escape.c (type_escape_execute): Ditto. + * gcc/alias.c (rest_of_handle_cfg): Ditto. + * gcc/tree-if-conv.c (main_tree_if_conversion): Ditto. + * gcc/profile.c (rest_of_handle_branch_prob): Ditto. + * gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto. + * gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto. + * gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto + * gcc/tree-dfa.c (find_referenced_vars): Ditto. + * gcc/except.c (set_nothrow_function_flags): Ditto. + (convert_to_eh_region_ranges): Ditto. + (rest_of_handle_eh): Ditto. + * gcc/emit-rtl.c (unshare_all_rtl): Ditto. + (remove_unnecessary_notes): Ditto. + * gcc/except.h (set_nothrow_function_flags): Ditto. + (convert_to_eh_region_ranges): Ditto. + * gcc/cfgexpand.c (tree_expand_cfg): Ditto. + * gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto. + * gcc/tree-ssa-pre.c (do_pre): Ditto. + (execute_fre): Ditto. + * gcc/cfgcleanup.c (rest_of_handle_jump): Ditto. + (rest_of_handle_jump2): Ditto. + * gcc/tree-sra.c (tree_sra): Ditto. + * gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto. + (execute_mudflap_function_decls): Ditto. + * gcc/tree-ssa-copy.c (do_copy_prop): Ditto. + (do_store_copy_prop): Ditto. + * gcc/ipa-prop.h (ipcp_driver): Ditto. + * gcc/cfglayout.c (insn_locators_initialize): Ditto. + * gcc/tree-ssa-forwprop.c + (tree_ssa_forward_propagate_single_use_vars): Ditto. + * gcc/cfglayout.h (insn_locators_initialize): Ditto. + * gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto. + * gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto. + (execute_late_warn_uninitialized): Ditto. + * gcc/rtl.h (cleanup_barriers): Ditto. + (split_all_insns_noflow): Ditto. + (purge_line_number_notes): Ditto. + (unshare_all_rtl): Ditto. + (remove_unnecessary_notes): Ditto. + (recompute_reg_usage): Ditto. + (variable_tracking_main): Ditto. + * gcc/integrate.c (emit_initial_value_sets): Ditto. + * gcc/integrate.h (emit_initial_value_sets): Ditto. + * gcc/tree-optimize.c (execute_free_datastructures): Ditto + (execute_free_cfg_annotations): Ditto. + (execute_fixup_cfg): Ditto. + (execute_cleanup_cfg_pre_ipa): Ditto. + (execute_cleanup_cfg_post_optimizing): Ditto. + (execute_init_datastructures): Ditto. + * gcc/tree-object-size.c (compute_object_sizes): Ditto. + * gcc/combine.c (rest_of_handle_combine): Ditto. + * gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto. + * gcc/bb-reorder.c (duplicate_computed_gotos): Ditto. + (rest_of_handle_reorder_blocks): Ditto. + (rest_of_handle_partition_blocks): Ditto. + * gcc/var-tracking.c (variable_tracking_main): Ditto. + * gcc/tree-profile.c (tree_profiling): Ditto. + * gcc/tree-vect-generic.c (expand_vector_operations): Ditto. + * gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto. + * gcc/sched-rgn.c (rest_of_handle_sched): Ditto. + (rest_of_handle_sched2): Ditto. + * gcc/basic-block.h (free_bb_insn): Ditto. + * gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto. + * gcc/tree-cfg.c (execute_build_cfg): Ditto. + (remove_useless_stmts): Ditto. + (split_critical_edges): Ditto. + (execute_warn_function_return): Ditto. + (execute_warn_function_noreturn): Ditto. + * gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto. + * gcc/cfgrtl.c (free_bb_for_insn): Ditto. + * gcc/passes.c (execute_one_pass): Run additional + todos returned by execute function. + * gcc/tree-pass.h (struct tree_opt_pass): Make execute + return a value. + +2006-03-02 Richard Guenther + + * tree-ssa-alias.c (find_used_portions): Consider taking + the address as making the variable not write-only. + +2006-03-02 Nick Clifton + + * config.gcc (default_use_cxa_atexit): Extend the description of + this configure variable. Set its default value to "yes" for + Linux, NetBSD and ELF targets on the assumption that they will + use C libraries with the __cxa_atexit function. + +2006-03-02 Ben Elliston + + * config/rs6000/linux-unwind.h (frob_update_context): Mark `fs' + parameter as unused to suppress a build warning. + +2006-03-02 Ben Elliston + + * mklibgcc.in: Depend on config/dfp-bit.h in rules that compile + config/dfp-bit.c. + +2006-03-01 Roger Sayle + + PR other/26489 + * gthr-posix.h (__gthrw2): Define to take three parameters, the + declared name, the weak reference name, and the typeof name. + (__gthrw): Avoid expanding the declared name suffix. + (__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls. + +2006-03-01 Jakub Jelinek + + * dwarf2.h (DW_TAG_condition, DW_TAG_shared_type): New constants + from DWARF 3. + (DW_AT_description, DW_AT_binary_scale, DW_AT_decimal_scale, + DW_AT_small, DW_AT_decimal_sign, DW_AT_digit_count, + DW_AT_picture_string, DW_AT_mutable, DW_AT_threads_scaled, + DW_AT_explicit, DW_AT_object_pointer, DW_AT_endianity, + DW_AT_elemental, DW_AT_pure, DW_AT_recursive): New. + (DW_OP_form_tls_address, DW_OP_call_frame_cfa, DW_OP_bit_piece): New. + (DW_ATE_packed_decimal, DW_ATE_numeric_string, DW_ATE_edited, + DW_ATE_signed_fixed, DW_ATE_unsigned_fixed): New. + (DW_DS_unsigned, DW_DS_leading_overpunch, DW_DS_trailing_overpunch, + DW_DS_leading_separate, DW_DS_trailing_separate): New. + (DW_END_default, DW_END_big, DW_END_little): New. + (DW_END_lo_user, DW_END_hi_user): Define. + (DW_LNE_lo_user, DW_LNE_hi_user): Define. + (DW_CFA_val_offset, DW_CFA_val_offset_sf, DW_CFA_val_expression): New. + (DW_LANG_PLI, DW_LANG_ObjC, DW_LANG_ObjC_plus_plus, DW_LANG_UPC, + DW_LANG_D): New. + +2006-03-01 Diego Novillo + + * tree.def (SYMBOL_MEMORY_TAG): Rename from TYPE_MEMORY_TAG. + Update all users. + * tree-pass.h (PROP_smt_usage): Rename from PROP_tmt_usage. + Update all users. + (TODO_update_smt_usage): Rename from TODO_update_tmt_usage. + Update all users. + * tree.h (SMT_USED_ALONE): Rename from TMT_USED_ALONE. + Update all users. + * tree-flow.h (struct var_ann_d): Rename field 'type_mem_tag' + to 'symbol_mem_tag'. + Update all users. + * doc/tree-ssa.texi: Update documentation to reflect TMT->SMT + rename. + +2006-03-01 Roger Sayle + + * builtins.c (fold_builtin_copysign): Delete unreachable code. + +2006-03-01 Andrew Pinski + + PR target/25761 + * config/darwin.h (MACHOPIC_JUST_INDIRECT): Check just + MACHO_DYNAMIC_NO_PIC_P. + (MACHOPIC_PURE): Check flag_pic and not MACHO_DYNAMIC_NO_PIC_P. + +2006-03-01 Andrew Pinski + + PR target/26389 + * config/darwin-protos.h (darwin_asm_output_anchor): + Declare. + * config/darwin-sections.def (cstring_section): + Add SECTION_MERGE to the flags. + (literal4_section): Likewise. + (literal8_section): Likewise. + (objc_selector_refs_section): Likewise. + (objc_cls_refs_section): Likewise. + * config/darwin.c (darwin_asm_output_anchor): New + function. + * config/darwin.h (TARGET_ASM_OUTPUT_ANCHOR): Define. + +2006-03-01 Daniel Berlin + + Fix PR tree-optimization/26443 + * tree-vrp.c (pass_vrp): Add TODO_update_tmt_usage + to todo and PROP_tmt_usage to properties_destroyed. + * tree-ssa-ccp.c (pass_ccp): Ditto. + (pass_store_ccp): Ditto. + * tree-ssa-dom.c (pass_dominator): Ditto. + +2006-03-01 Diego Novillo + + * tree-ssa-operands.c: Cleanup whitespace. + (get_asm_expr_operands): Move before first invocation. + (get_indirect_ref_operands): Likewise. + (get_tmr_operands): Likewise. + (get_call_expr_operands): Likewise. + (append_def): Likewise. + (append_use): Likewise. + (append_v_may_def): Likewise. + (append_v_must_def): Likewise. + (add_call_clobber_ops): Likewise. + (add_call_read_ops): Likewise. + (add_stmt_operand): Likewise. + (add_virtual_operand): Likewise. + (build_ssa_operands): Likewise. + +2006-03-01 Andrew Pinski + + PR middle-end/26022 + Revert: + PR middle-end/24437 + * tree-ssa-ccp.c (fold_stmt): Move folding of OBJ_TYPE_REF + with a call expr to ... + * fold-const.c (fold_ternary) : Here. + +2006-03-01 Diego Novillo + + * tree-vrp.c (extract_range_from_assert): Remove special + handling for types with super-types. + +2006-03-01 Ben Elliston + + * config.gcc: Add t-dfprules to $tmake_file for powerpc-*-linux* + and powerpc64-*-linux* configurations. + * config/t-dfprules: New file. + + * mklibgcc.in: Add logic to handle $DFP_ENABLE and $DFP_CFLAGS. + Compile dfp-bit.c from the source directory using -DWIDTH and + $DFP_CFLAGS to control the compilation of that file, rather than + generating width-specific versions in the build directory. + * Makefile.in (libgcc.mk): Pass down DFP_ENABLE and DFP_CFLAGS. + (LIBGCC_DEPS): Replace $(D32PBIT) et al with config/dfp-bit.[hc]. + +2006-02-28 Zack Weinberg + + * doc/md.texi: Avoid use of @headitem so that makeinfo <4.7 + continues to work. + +2006-02-28 Eric Christopher + + * config/rs6000/darwin.h (ENABLE_STACK_EXECUTE): Define. + Set up IN_LIBGCC definition of TARGET_64BIT. + * config/i386/darwin.h (ENABLE_STACK_EXECUTE): Define. + +2006-02-28 Roger Sayle + + PR middle-end/14752 + * c-common.c (c_common_truthvalue_conversion) : Delete. Let fold optimize these + cases via the construction of "expr != 0". + +2006-02-28 Steven Bosscher + + * alias.c (alias_invariant, alias_invariant_size): Remove. + (record_base_value): Remove. + (memrefs_conflict_p): Don't look at alias_invariant. + (end_alias_analysis): Don't free it. + * alias.h (record_base_value): Remove prototype. + +2006-02-28 Paolo Bonzini + Adam Nemet + + * rtl.h (truncated_to_mode): Declare it. + (struct rtl_hooks): Add reg_truncated_to_mode hook. + * rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro. + (RTL_HOOKS_INITIALIZER): Include it. + * rtlhooks.c (reg_truncated_to_mode_general): New function. + * combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to + reg_truncated_to_mode. + * rtlanal.c (truncated_to_mode): Define it. + * simplify-rtx.c (simplify_unary_operation_1): Use it. + +2006-02-28 Jeff Law + + * tree-chrec.c (chrec_convert_aggressive): Do not eliminate + conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover + the range allowed by TYPE_PRECISION. + + * tree.h (strct phi_arg_d): Remove unused NONZERO field. + +2006-02-28 Dorit Nuzman + + PR tree-optimization/26419 + * doc/invoke.texi (ftree-vectorizer-verbose): Add information on + values of n. + +2006-02-27 Zack Weinberg + + * doc/md.texi: Fix typo in previous change. + +2006-02-27 Kenneth Zadeck + + * df.c: Remove. + +2006-02-27 Zack Weinberg + + * rtl.def (define_constraint, define_register_constraint) + (define_memory_constraint, define_address_constraint): New MD forms. + * gensupport.c (process_rtx): Put define_constraint etc on the + predicate queue. + * genpreds.c (process_define_predicate): Adjust comment. Validate + the name, and call validate_exp to validate the expression. + (mark_mode_tests, write_extract_subexp): Can assume correct input. + (write_predicate_expr): Likewise. NAME argument no longer necessary; + all callers changed. + (validate_exp, needs_variable, struct constraint_data) + (constraints_by_letter_table, first_constraint, last_constraint_ptr) + (FOR_ALL_CONSTRAINTS, generic_constraint_letters, const_int_constraints) + (const_dbl_constraints, constraint_max_namelen) + (have_register_constraints, have_memory_constraints) + (have_address_constraints, have_address_constraints) + (have_extra_constraints, have_const_int_constraints) + (have_const_dbl_constraints, mangle, add_constraint) + (process_define_constraint, process_define_register_constraint) + (write_enum_constraint_num, write_lookup_constraint) + (write_insn_constraint_len, write_regclass_for_constraint) + (write_constraint_satisfied_p, write_insn_const_int_ok_for_constraint) + (write_insn_extra_memory_constraint) + (write_insn_extra_address_constraint) + (write_satisfies_constraint_fns): New. + (write_tm_preds_h): If we have new-style constraint definitions, + prototype the functions generated from them, and define the + old constraint interface (still used by generic code) in terms of + those functions. + (write_insn_preds_c): If we have new-style constraint definitions, + generate all relevant functions from those definitions. + (main): Handle define_constraint etc. + * genoutput.c (struct constraint_data, indep_constraints) + (mdep_constraint_letters, constraints_by_letter_table, note_constraint) + (mdep_constraint_len): New data structures and functions, defined + #ifdef USE_MD_CONSTRAINTS. + (check_constraint_len): Don't define #ifdef USE_MD_CONSTRAINTS. + (validate_insn_alternatives): If USE_MD_CONSTRAINTS is defined, + use new logic to validate operand constraints against constraint + definitions. + (main): Process define_constraint etc. if USE_MD_CONSTRAINTS is + defined. + * defaults.h: If none of the old-style constraint macros are + defined, define USE_MD_CONSTRAINTS; do not provide defaults for any + old-style macros; and poison REG_CLASS_FROM_LETTER, + CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P, and + EXTRA_CONSTRAINT. + * recog.c (reg_fits_class_p): If cl is NO_REGS, return 0 immediately. + * doc/md.texi: Document new constraint-definition mechanism and the + C interface it provides. Remove references to old mechanism + elsewhere in the document. + (Machine Constraints): Use pathnames relative to gcc directory, + i.e. config/ARCH/FILE. Change i386 section to refer to + config/i386/predicates.md; update that section to match docstrings. + * doc/tm.texi: Move all documentation of the old constraint- + definition macros to their own section, clearly mark as obsolete. + + * config/i386/predicates.md (R, q, Q, l, a, b, c, d, S, D, A, f, t) + (u, y, x, Y, I, J, K, L, M, N, O, G, C, e, Z): New constraint + definitions. + * config/i386/i386.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_LETTER_P) + (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT): Delete. + * config/i386/i386.md (*movdf_nointeger): Remove stray 'H' from + constraint strings. + (splits and peepholes): Use satisfies_constraint_*. + * config/i386/i386.c (memory_address_length) + (ix86_attr_length_immediate_default): Use satisfies_constraint_*. + +2006-02-27 Daniel Berlin + + * lambda-code.c (can_convert_to_perfect_nest): Allow any type of + scalar operation to be put back into the loop. + +2006-02-27 Jakub Jelinek + + PR other/26208 + * unwind-dw2.c (struct _Unwind_Context): Add signal_frame field. + (extract_cie_info): Handle S flag in augmentation string. + (execute_cfa_program): If context->signal_frame, execute also + fs->pc == context->ra instructions. + (uw_frame_state_for): If context->signal_frame, don't subtract one + from context->ra to find FDE. + (uw_update_context_1): Set context->signal_frame to + fs->signal_frame. + (_Unwind_GetIPInfo): New function. + * unwind-dw2.h (_Unwind_FrameState): Add signal_frame field. + * unwind-c.c (PERSONALITY_FUNCTION): Use _Unwind_GetIPInfo instead + of _Unwind_GetIP. + * unwind-sjlj.c (_Unwind_GetIPInfo): New function. + * unwind-generic.h (_Unwind_GetIPInfo): New prototype. + * unwind-compat.c (_Unwind_GetIPInfo): New function. + * libgcc-std.ver (_Unwind_GetIPInfo): Export @@GCC_4.2.0. + * config/ia64/unwind-ia64.c (_Unwind_GetIPInfo): New function. + * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Define. + * config/i386/linux-unwind.h (x86_fallback_frame_state, + x86_64_fallback_frame_state): Set fs->signal_frame. + * config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise. + (MD_FROB_UPDATE_CONTEXT): Define unconditionally. + (frob_update_context): Likewise. Workaround missing S flag in + Linux 2.6.12 - 2.6.16 kernel vDSOs. + * config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise. + Remove the psw_addr + 1 hack. + +2006-02-27 Daniel Berlin + + * tree-ssa-structalias.c (get_constraint_for): Move code to deal + with aggregates here. + (find_func_aliases): Remove code for & from here. + +2006-02-26 Roger Sayle + + * fold-const.c (fold_binary) : Fold (~X & C) eq/ne 0 as + (X & C) ne/eq 0, where C is a single bit, i.e. a power of two. + Fold both "((X & C) ^ C) eq/ne 0" and "((X ^ C) & C) eq/ne 0" + as (X & C) ne/eq 0. + +2006-02-26 Roger Sayle + + PR middle-end/19983 + * real.c (real_nan): Allow both 0x and 0X as hexadecimal prefixes. + +2006-02-26 Zdenek Dvorak + + * opts.c (decode_options): Do not handle flag_strength_reduce. + (common_handle_option): Handle OPT_floop_optimize, OPT_frerun_loop_opt + and OPT_fstrength_reduce. + * tree-ssa-loop.c (tree_ssa_loop_prefetch): Only test + flag_prefetch_loop_arrays for being nonzero. + * common.opt (floop-optimize, frerun-loop-opt): Resurrected as + no-ops. + (fprefetch-loop-arrays-rtl): Removed. + (flag_prefetch_loop_arrays): Do not specify the value. + + * doc/passes.texi: Update documentation of loop optimizer + passes. + * doc/invoke.texi (-fstrength-reduce, -fprefetch-loop-arrays-rtl, + -frerun-loop-opt): Remove. + +2006-02-26 Richard Guenther + + PR tree-optimization/26421 + * tree-ssa-alias.c (find_used_portions): Don't treat parameters + in function calls that are ADDR_EXPRs as using the whole structure. + +2006-02-26 Steven Bosscher + + * common.opt (-floop-optimize, -frerun-loop-opt): Remove. + * tree-pass.h (pass_loop_optimize): Remove. + * passes.c (pass_loop_optimize): Never run it. + * toplev.c (backend_init): Don't call init_loop. + * opts.c (flag_loop_optimize_set): Remove. + (decode_options): Never set flag_loop_optimize or flag_rerun_loop_opt. + (common_handle_option) : Remove. Don't disable + the old RTL loop optimizer when profiling enabled. + * predict.c (tree_estimate_probability): Always strip builtin_expect. + * cfgcleanup.c (try_forward_edges): Don't avoid killing loop + pre-headers for the sake of the old RTL loop optimizer. + * Makefile.in: Remove all references to loop.o. + + * doc/invoke.texi: Remove all references to -floop-optimize + and -frerun-loop-opt. + +2006-02-26 Zack Weinberg + + * doc/md.texi (Machine Constraints): Refer to all files with paths + relative to gcc directory (i.e. config/CPU/file). Add missing + @table @code ... @end table to M32C subsection. + +2006-02-26 Roger Sayle + + * fold-const.c (fold_binary) : Fold (X & 1) ^ 1 as + (X & 1) == 0. + : Fold (X ^ 1) & 1 and ~X & 1 as (X & 1) == 0. + +2006-02-26 Roger Sayle + James A. Morrison + + PR middle-end/21137 + * fold-const.c (fold_binary) : Fold ((X>>C1)&C2) eq/ne 0, + when C2 is a power of two, as either (X&(C2< + + PR tree-optimization/26359 + * tree-ssa-alias.c (new_type_alias): Set fields for new tag. + +2006-02-25 Roger Sayle + + * simplify-rtx.c (simplify_relational_operation_1): Simplify + (X^Y) == 0 as X == Y and (X^Y) != 0 as X != Y. Simplify (X^Y) == Y + as X == 0, and some symmetry related transformations. + Simplify (X^C1) == C2 as X == (C1^C2). Split long comment line. + +2006-02-25 Roger Sayle + + PR middle-end/23673 + * fold-const.c (fold_binary) : Fold (X^Y) == 0 as X == Y + and (X^Y) != 0 as X != Y. Fold (X^Y) == Y as X == 0, and some + symmetry related transformations. Fold (X^C1) == C2 as + X == (C1^C2). + 2006-02-25 Juergen Weigert Richard Guenther @@ -21,7 +887,7 @@ 2006-02-24 Geoffrey Keating * doc/tm.texi (Run-time Target): Document C_COMMON_OVERRIDE_OPTIONS. - * doc/invoke.texi (C++ Dialect Options): Document + * doc/invoke.texi (C++ Dialect Options): Document -fno-use-cxa-get-exception-ptr. * configure.ac: Define DEFAULT_USE_CXA_ATEXIT to 2 not 1. * configure: Regenerate. @@ -50,7 +916,7 @@ and NE_EXPR) from the ordering operators (LT_EXPR, GT_EXPR, LE_EXPR and GE_EXPR), calling fold_comparison to perform the transformations common to both. - (fold_div_compare): Fix latent bugs in the previously unreachable + (fold_div_compare): Fix latent bugs in the previously unreachable LT_EXPR and GE_EXPR cases. 2006-02-24 David Edelsohn @@ -104,7 +970,7 @@ * emit-rtl.c (immed_double_const): Cleanup. 2006-02-23 Daniel Berlin - + Fix PR tree-optimization/26376 * tree-ssa-structalias.c (find_func_aliases): Use get_id_for_tree, remove assert. @@ -254,11 +1120,11 @@ of loops surrounding the references from the callers, and initialize DDR_SIZE_VECT to nb_loops. Use both base_addr_differ_p and base_object_differ_p analyzers. - (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, + (analyze_ziv_subscript, analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine): Count the classified dependences. Print a message when a test failed. - (can_use_analyze_subscript_affine_affine): New. + (can_use_analyze_subscript_affine_affine): New. (analyze_siv_subscript): Compute the data dependences on symbolic scevs that verify can_use_analyze_subscript_affine_affine. (chrec_steps_divide_constant_p): Returns true, false, or unknown. @@ -267,32 +1133,32 @@ (analyze_overlapping_iterations): Let symbolic affine scevs to be analyzed. (subscript_dependence_tester): Moved... - (build_classic_dist_vector, build_classic_dir_vector): Don't use + (build_classic_dist_vector, build_classic_dir_vector): Don't use lambda_vector_clear on newly allocated vectors. Get nb_loops from DDR_SIZE_VECT instead of getting it in parameter. - (subscript_dependence_tester): ... here. Take as a parameter + (subscript_dependence_tester): ... here. Take as a parameter loop_nest_depth. Call build_classic_dist_vector and build_classic_dir_vector. - (compute_affine_dependence): Update subscript_dependence_tester - parameters. Update datadep_stats counters. Call + (compute_affine_dependence): Update subscript_dependence_tester + parameters. Update datadep_stats counters. Call compute_subscript_distance. - (compute_self_dependence): Save the dist and dir vectors. Call + (compute_self_dependence): Save the dist and dir vectors. Call compute_subscript_distance. (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): Moved... (compute_all_dependences): Reorder parameters as they were before conversion to VEC. Pass nb_loops and loop_nest_depth. Don't call - compute_subscript_distance. Update the use of + compute_subscript_distance. Update the use of compute_affine_dependence and initialize_data_dependence_relation. (find_data_references_in_loop): Handle COMPONENT_REF. (compute_data_dependences_for_loop): Initialize dependence_stats. Don't call build_classic_dist_vector and build_classic_dir_vector. - Update the parameters of initialize_data_dependence_relation and + Update the parameters of initialize_data_dependence_relation and compute_all_dependences. Print the statistics from datadep_stats. (analyze_all_data_dependences): Static. Not used until the pass for checking the data dependences is contributed. * tree-data-ref.h (ddr_p, DEF_VEC_P(ddr_p), DEF_VEC_ALLOC_P(ddr_p,heap)): ... here. - (initialize_data_dependence_relation, compute_affine_dependence, + (initialize_data_dependence_relation, compute_affine_dependence, analyze_all_data_dependences, compute_subscript_distance): Removed. (print_direction_vector): New. * lambda.h (gcd): ... here. @@ -341,9 +1207,9 @@ * tree-pass.h (PROP_tmt_usage): New property. (TODO_update_tmt_usage): New todo. * tree-ssa-alias.c (updating_used_alone): New variable. - (recalculate_used_alone): New function. + (recalculate_used_alone): New function. (compute_may_aliases): Set updating_used_alone, call - recalculate_used_alone. + recalculate_used_alone. * tree-sra.c (pass_sra): Note that this pass destroys PROP_tmt_usage, and add TODO_update_tmt_usage. * tree-ssa-forwprop.c (pass_forwprop): Ditto. @@ -354,7 +1220,7 @@ * tree-ssa-operands.c (add_virtual_operand): Only append bare def for clobber if used alone, and add assert to verify used_alone status. - + 2006-02-20 Angel Nunez Mencias * config/s390/s390.c (legitimize_pic_address): Assertions checking @@ -376,7 +1242,7 @@ that were configured. For all the other variables except lang_specs_files, include all the languages in the tree. * configure: Regenerate. - + * Makefile.in (stmp-fixinc): Copy includes from the prev-gcc directory, if there is one. Run the commands to run fixincludes in the same subshell. @@ -694,7 +1560,7 @@ PR middle-end/25600 * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when C is one less than the width of X (and related transformations). - * simplify_rtx.c (simplify_unary_operation_1): Transform + * simplify-rtx.c (simplify_unary_operation_1): Transform (neg (lt x 0)) into either (ashiftrt X C) or (lshiftrt X C) depending on STORE_FLAG_VALUE, were C is one less then the width of X. @@ -702,7 +1568,7 @@ 2006-02-17 Daniel Berlin Fix PR tree-optimization/26341 - * tree-ssa-operands.c (add_virtual_operand): Remove assert + * tree-ssa-operands.c (add_virtual_operand): Remove assert about NAME_MEMORY_TAG's. 2006-02-17 John David Anglin @@ -714,7 +1580,7 @@ general and floating-point registers to the 32-bit pattern. * pa.c (pa_secondary_reload): Don't abort if reload tries to find a secondary reload to load a QI or HI mode constant into a floating - point register. + point register. * pa32-regs.h (VALID_FP_MODE_P): Allow QImode and HImode. * pa64-regs.h (VALID_FP_MODE_P): Likewise. @@ -763,7 +1629,7 @@ PR rtl-optimization/25603 * reload.c (reg_inc_found_and_valid_p): New. Check REG_INC note. (regno_clobbered_p): Use it. Reusing SETS argument for REG_INC case. - * reload1.c (choose_reload_regs): Added call of regno_clobbered_p + * reload1.c (choose_reload_regs): Added call of regno_clobbered_p with new meaning of SETS. 2006-02-16 Joseph S. Myers @@ -851,7 +1717,7 @@ (add_virtual_operand): Here. Add offset, size, and for_clobber arguments. Prune alias sets. (add_call_clobber_ops): Call add_virtual_operand. - + 2006-02-15 Jakub Jelinek PR middle-end/26300 @@ -963,7 +1829,7 @@ * 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 * doc/invoke.texi (-fprefetch-loop-arrays, -fprefetch-loop-arrays-rtl): @@ -1096,7 +1962,7 @@ 2006-02-12 Gabriel Dos Reis * doc/invoke.texi (-Write-strings): Document that it is enabled by - default. + default. * c.opt (-Wwrite-strings): Declare variable warn_write_strings. Clarify documentation. * c-common.h (warn_write_strings): Remove. @@ -1254,13 +2120,13 @@ 2006-02-09 Andrew Pinski PR middle-end/26134 - * fold-const.c (fold_indirect_ref_1): Fold + * 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 - * tree-flow-inline.h (var_can_have_subvars): + * tree-flow-inline.h (var_can_have_subvars): Volatile variables should not have subvariables. 2006-02-09 Diego Novillo @@ -1289,7 +2155,7 @@ Do return slot optimization if we have an INIT_EXPR. PR tree-opt/24365 - * tree-inline.c (declare_return_variable): Also clear + * tree-inline.c (declare_return_variable): Also clear DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case. PR c++/16405 @@ -1544,7 +2410,7 @@ 2006-02-07 Pete Steinmetz - * sched-rgn.c (compute_dom_prob_ps, compute_trg_info): Eradicate + * 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. @@ -1750,7 +2616,7 @@ (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 * configure.ac: Unconditionally disable decimal float by default. @@ -1896,7 +2762,7 @@ * 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 + * 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. @@ -1908,41 +2774,41 @@ 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, + (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, + * 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. (, mode attributes): Removed. (, , , , mode attributes): New. - ("*cmp_ccs_0", "*cmp_ccs_0_ibm", "*cmp_ccs", - "*cmp_ccs_ibm", "fix_trunc2_ieee", - "floatdi2", "floatsi2_ieee", "*add3", - "*add3_cc", "*add3_cconly", "*add3_ibm", - "*sub3", "*sub3_cc", "*sub3_cconly", + ("*cmp_ccs_0", "*cmp_ccs_0_ibm", "*cmp_ccs", + "*cmp_ccs_ibm", "fix_trunc2_ieee", + "floatdi2", "floatsi2_ieee", "*add3", + "*add3_cc", "*add3_cconly", "*add3_ibm", + "*sub3", "*sub3_cc", "*sub3_cconly", "*sub3_ibm", "*mul3_ibm", "*fmadd", "*fmsub", - "*div3", "*div3_ibm", "*neg2_cc", - "*neg2_cconly", "*neg2", "*neg2_ibm", + "*div3", "*div3_ibm", "*neg2_cc", + "*neg2_cconly", "*neg2", "*neg2_ibm", "*abs2_cc", "*abs2_cconly", "*abs2", - "*abs2_ibm", "*negabs2_cc", "*negabs2_cconly", + "*abs2_ibm", "*negabs2_cc", "*negabs2_cconly", "*negabs2", "sqrt2"): Changed to . R constraint replaced by . - ("*mul3"): Changed to . R constraint replaced by + ("*mul3"): Changed to . R constraint replaced by . ("fix_truncdi2"): 'FPR:' removed. - ("*fmadd", "*fmsub"): FPR mode replaced by DSF. - ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 + ("*fmadd", "*fmsub"): FPR mode replaced by DSF. + ("*movtf_64", "*movtf_31"): New insn definitions followed by 5 splitters. - ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", + ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2", "extenddftf2", "extendsftf2"): New expanders. - ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee", + ("*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, + * 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