X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=e00ed90dae8dcb7c31b5e975a093dfece89242a2;hp=a3f97a1d30348655d60a4a679209824760faba46;hb=788e09e2d3f9969ae8b85e120879494a9d5e3ae6;hpb=c2aa3ceb0307d50cc890e310889a8260a8bef160 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a3f97a1d303..e00ed90dae8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,746 @@ +2005-12-21 Steven Bosscher + + PR rtl-optimization/25196 + * postreload-gcse.c (record_last_set_info): Notice stack pointer + changes in push insns without REG_INC notes. + +2005-12-21 Kazu Hirata + + PR tree-optimization/25382. + * tree-vrp.c (extract_range_from_binary_expr): Extract a range + from BIT_AND_EXPR. + +2005-12-21 Janis Johnson + Ben Elliston + + * configure.ac: Enable C extension for decimal float if invoked + with --enable-decimal-float. + * doc/install.texi (Configuration): Document it. + * configure, config.in: Regenerate. + +2005-12-20 Mike Stump + + * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Handle the + ambiguity between -seg_addr_table and -seg_addr_table_filename. + (WORD_SWITCH_TAKES_ARG): Likewise. + (LINK_SPEC): Likewise. + +2005-12-20 Kenneth Zadeck + + * cfganal.c (flow_reverse_top_sort_order_compute): + Renamed to post_order_compute and additional parameter added which + allows the inclusion of entry and exit blocks into list. + (mark_dfs_back_edges): Fixed comment. + (flow_depth_first_order_compute): Renamed to + pre_and_rev_post_order_compute additional parameter added which + allows the inclusion of entry and exit blocks into list. + * global.c (set_up_bb_rts_numbers): Call to + flow_reverse_top_sort_order_compute renamed to + post_order_compute. + * var-tracking.c (vt_stack_adjustments): Fixed comment. + (vt_find_locations): Call to + flow_depth_first_order_compute renamed to + pre_and_rev_post_order_compute. + * cfgloop.c (flow_find_loops): Ditto. + * tree-ssa-reassoc.c (init_reassoc): Ditto. + * df.c (df_analyze_1, df_analyze_subcfg): Calls to + flow_reverse_top_sort_order_compute renamed to post_order_compute + and calls to flow_reverse_top_sort_order_compute renamed to + post_order_compute. + * basic_block.h: Ditto. + + +2005-12-20 Roger Sayle + Paolo Bonzini + + PR rtl-optimization/25115 + * gcse.c (pre_insert_copy_insn): Fall back to the sole + SET in the insn if there is no SET for an + expression that is equivalent to EXPR. + +2005-12-20 Richard Guenther + + PR middle-end/24306 + * builtins.c (std_gimplify_va_arg_expr): Do not align + va frame for zero sized types. + * config/i386/i386.c (ix86_gimplify_va_arg): Likewise. + +2005-12-20 Kazu Hirata + + PR tree-optimization/25501 + * tree-cfgcleanup.c (merge_phi_nodes): Check that RESULT is + used in the PHI argument corresponding to the edge from BB to + DEST. + +2005-12-20 Richard Guenther + + Revert + 2005-12-02 Richard Guenther + + * tree-cfg.c (mark_used_vars): New function. + (dump_function_to_file): Dump only used VAR_DECLs. + +2005-12-19 Roger Sayle + + * combine.c (try_combine): Improve splitting of binary operators + by taking advantage of reassociative transformations. + +2005-12-19 Jeff Law + + * tree-ssa-dom.c (thread_across_edge): Do not use local_fold. + Strip away all type conversions after simplifying the + condition. + + * tree-cfgcleanup.c (merge_phi_nodes): Allow merging in some + cases the forwarder block dominates the destination. + +2005-12-19 DJ Delorie + + * reload1.c (spill_failure): Dump reload data to dump file. + (find_reload_regs): Likewise. + +2005-12-19 Zdenek Dvorak + + PR tree-optimization/24793 + * tree-ssa-loop-ivopts.c (get_ref_tag): Remember the + original reference if there are subvars. + * tree-ssa-operands.c (get_tmr_operands): Handle subvars. + +2005-12-19 Kenneth Zadeck + + * df.c (df_analyze_1, df_analyze_subcfg, iterative_dataflow): + Corrected basic block number calculations for changes in entry and + exit numbering. + +2005-12-19 Zdenek Dvorak + + * tree-flow.h (struct var_ann_d): Change type of + may_aliases field to VEC(tree, gc) *. + (may_aliases): Declaration changed. + * tree-ssa-alias.c (group_aliases, add_may_alias, + replace_may_alias, dump_may_aliases_for, + is_aliased_with, add_type_alias, new_type_alias): + Work with VEC(tree, gc) * instead of varray. + * tree-flow-inline.h (may_aliases): Ditto. + * tree-ssa.c (verify_flow_insensitive_alias_info, + verify_name_tags): Ditto. + * tree-ssa-operands.c (add_stmt_operand): Ditto. + +2005-12-19 J"orn Rennecke + + * cfgcleanup.c: Temporarily revert patches for PR 20070 till Bernd + comes back. + +2005-12-19 J"orn Rennecke + + * struct-equiv.c (struct_equiv_improve_checkpoint): Fix sets_cc0_p + check. + +2005-12-19 Ben Elliston + + * doc/install.texi (Configuration): Typo in Fortran subheading. + +2005-12-19 Nathan Sidwell + + * config/mt/mt.md (decrement_and_branch_until_zero): Add another + scratch. Correct its reload split. Adjust its peephole. + (doloop_end): Add additional scratch. + (nop): Use 'nop'. + * config/mt/mt.c (MT_INT_ARG_FIRST): Remove. + (mt_asm_output_opcode, mt_print_operand): Use 'nop'. + (mt_function_arg_slotno): Use FIRST_ARG_REGNUM. + (mt_builtin_saveregs): Replace with ... + (mt_setup_incoming_varargs): ... here. Save just the varadic + args. + (mt_va_start): Remove. + (mt_reorg_hazard): Ignore USE insns. Don't call set_noop_p. + (mt_machine_reorg): Split all insns here. + (TARGET_SETUP_INCOMING_VARARGS): Override. + * config/mt/mt.h (TARGET_CPU_CPP_BUILTINS): Define __mt__ only. + Set to CPU type. + (EXPAND_BUILTIN_VA_START): Remove. + +2005-12-17 Kenneth Zadeck + + * flow.c (update_life_info, count_or_remove_death_notes): Fixed + latent bug that could happen if update_life_info was called with a + blocks parameter and the call to cleanup_cfg actually deleted one + of those blocks. + +2005-12-19 Zdenek Dvorak + + * tree-ssa-structalias.c (update_alias_info): Remove handling + of may_be_aliased (SSA_NAME_VAR (op)) case. + +2005-12-19 Zdenek Dvorak + + * tree-flow.h (struct stmt_ann_d): Remove + makes_aliased_loads and makes_aliased_stores fields. + * tree-ssa-ccp.c (likely_value): Do not use makes_aliased_stores + and makes_aliased_loads fields. + * tree-ssa-dom.c (eliminate_redundant_computations): Do not + use makes_aliased_stores. + * tree-ssa-operands.c (clobbered_aliased_loads, + clobbered_aliased_stores, ro_call_aliased_loads): Removed. + (build_ssa_operands, add_stmt_operand, add_call_clobber_ops, + add_call_read_ops): Do not set makes_aliased_stores and + makes_aliased_loads fields. + * tree-ssa.c (verify_ssa): Do not verify makes_aliased_stores + field. + +2005-12-18 Geoffrey Keating + + * config/darwin.h: Don't include darwin-sections.def to declare + global variables; instead create darwin_section_enum. + (darwin_section_enum): New. + (darwin_sections): New. + * config/darwin.c: Don't include darwin-sections.def to define + global variables. + (darwin_sections): New. + (output_objc_section_asm_op): Rewrite to take advantage of + darwin_sections. + (darwin_init_sections): Rewrite to use darwin_sections. + (machopic_output_indirection): Update for darwin_sections array. + (machopic_select_section): Likewise. + (machopic_select_rtx_section): Likewise. + (machopic_asm_out_constructor): Likewise. + (machopic_asm_out_destructor): Likewise. + (darwin_file_end): Likewise. + * config/rs6000/rs6000.c (machopic_output_stub): Likewise. + * config/i386/i386.c (machopic_output_stub): Likewise. + +2005-12-18 Richard Guenther + + PR tree-optimization/25481 + * tree-ssa-structalias.c (handle_ptr_arith): Handle accesses we + don't have a varinfo for. + +2005-12-18 Jon Grimm + Janis Johnson + Ben Elliston + + * optabs.c (init_floating_libfuncs): Handle decimal float modes. + (init_optabs): Handle libfuncs for decimal float. + * genopinit.c (gen_insn): Handle MODE_DECIMAL_FLOAT. + * stor-layout.c (int_mode_for_mode): Likewise. + * simplify-rtx.c (simplify_immed_subreg): Likewise. + (simplify_unary_operation_1): Skip optimisations for decimal float + modes. + * varasm.c (output_constant_pool_2): Handle MODE_DECIMAL_FLOAT. + * emit-rtl.c (gen_const_vector): Add assertion check. + (init_emit_once): Populate const_tiny_rtx with constants in each + decimal float mode. + * expmed.c (extract_high_half, expand_mult_highpart_optab, + expand_mult_highpart): Assert that mode is not a scalar float + mode. + * expr.c (convert_move): Handle conversion between decimal and + binary floats of the same size. + * convert.c (convert_to_real): Consider decimal float types when + folding. + * dwarf2out.c (base_type_die): Use DW_ATE_decimal_float to + describe decimal floating point types. + +2005-12-18 Ulrich Weigand + + PR rtl-optimization/21041 + * reload.c (find_reloads_subreg_address): Replace paradoxical + subreg of MEM by widened access only if the resulting memory + is properly aligned, even on !STRICT_ALIGNMENT targets. + +2005-12-18 Andreas Krebbel + + * tree-cfg.c (tree_flow_call_edges_add): Check for empty basic blocks. + +2005-12-18 Steven Bosscher + + * gcse.c (gcse_main, bypass_jumps): Fix non-GNU-isms from + the 2005-12-17 patch to renumber the entry and exit blocks. + +2005-12-18 Gabriel Dos Reis + + * doc/objc.texi (Type encoding): Fix typo. + +2005-12-17 Gabriel Dos Reis + + * tree-tailcall.c (find_tail_calls): Use XNEW. + * tree-ssa-dom.c (allocate_edge_info): Use XCNEW. + (free_all_edge_infos): Use explicit cast to convert from void *. + (vrp_free): Likewise. + (dom_opt_finalize_block): Likewise. + (record_equivalences_from_incoming_edge): Likewise. + (thread_across_edge): Likewise. Use XCNEWVEC. + (record_cond): Use XCNEW. + (record_conditions): Use XNEWVEC. + (record_edge_info): Use XCNEWVEC. + (lookup_avail_expr): Use XNEW. + (record_range): Likewise. Use GGC_NEW. + * tree-nested.c (var_map_hash): Use explicit cast to convert from + void *. + (var_map_eq): Likewise. + (lookup_field_for_decl): Likewise. + (convert_nonlocal_reference): Likewise. + (convert_local_reference): Likewise. + (convert_nl_goto_reference): Likewise. + (convert_nl_goto_receiver): Likewise. + (convert_call_expr): Likewise. + (convert_tramp_reference): Likewise. + (lookup_tramp_for_decl): Likewise.Use GGC_NEW. + (convert_nl_goto_reference): Likewise. + (lookup_field_for_decl): Use GGC_NEW. + (create_nesting_tree): Use GGC_CNEW. + * tree-ssa-phiopt.c (blocks_in_phiopt_order): Use XNEWVEC. + * tree-ssa-alias.c (init_alias_info): Use XCNEW. + (create_alias_map_for): Likewise. + (setup_pointers_and_addressables): Use XCNEWVEC. + (get_ptr_info): Use GGC_NEW. + (used_part_map_eq): Use explicit cast to convert from void *. + (up_lookup): Likewise. + (up_insert): Use XNEW. + (get_or_create_used_part_for): Use XCNEW. + (get_tmt_for): Likewise. + * tree-ssa-operands.c (ssa_operand_alloc): Use GGC_NEW. + * tree-ssa-pre.c (phi_trans_add): Use XNEW. + (bitmap_set_new): Use explicit cast to convert from void *. + (set_new): Likewise. + (insert_into_set): Likewise. + (pool_copy_list): Likewise. + (phi_translate): Likewise. + (create_value_expr_from): Likewise. + (insert_aux): Use XCNEWVEC. + (compute_avail): Use XNEWVEC. + * tree-ssa-live.c (calculate_live_on_entry): Likewise. + (sort_coalesce_list): Likewise. + (build_tree_conflict_graph): Use XCNEWVEC. + * tree-ssa-dce.c (tree_dce_init): Use XNEWVEC. + * tree-ssa-copy.c (init_copy_prop): Likewise. + (fini_copy_prop): Likewise. + * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use XNEW + and XCNEWVEC. + (record_equiv): Use XNEW. + (uncprop_into_successor_phis): Use explicit cast to convert from + void *. + (uncprop_initialize_block): Likewise. + +2005-12-18 Dorit Nuzman + + PR tree-optimization/24378 + * tree-vect-transform.c (vect_transform_loop): Create single-predecessor + basic-block after loop-versioning. + +2005-12-18 Jeff Law + + * tree-ssa-dom.c (simplify_switch_and_lookup_avail_expr): Code + to simplify SWITCH_EXPR_CODE moved from here to ... + * tree-ssa-forwprop.c (simplify_switch_expr): Here. + (tree-ssa-forward_propagate_single_use_vars): Call + simplify_switch_expr when appropriate. + +2005-12-17 Andrew Pinski + + * doc/objc.texi (Type encoding): Add documentation about encoding + complex types and _Bool. + +2005-12-17 Paul Brook + + * config/m68k/m68k.md (m68k_output_function_prologue): Always call + dwarf2out_def_cfa. Only add space for frame pointer to cfa_offset + when frame_pointer_needed. + +2005-12-17 Gabriel Dos Reis + + * tree-vn.c (vn_add): Use XNEW. + * tree-ssa-ccp.c (ccp_initialize): Use XNEWVEC. + (ccp_fold): Likewise. + (fold_stmt_r): Use explicit cast to convert from void *. + * tree-outof-ssa.c (new_temp_expr_table): Use XCNEWVEC. + (new_temp_expr_table): Likewise. + * gimplify.c (lookup_tmp_var): Use XNEW. + (gimplify_asm_expr): Use explcit cast to convert from void *. + * tree-into-ssa.c (get_ssa_name_ann): Likewise. + (get_def_blocks_for): Use XNEW. + (add_to_repl_tbl): Likewise. + (mark_def_sites): Use explicit cast to convert from void *. + (def_blocks_free): Likewise. + (mark_def_sites_initialize_block): Likewise. + (update_ssa): Use XNEWVEC. + * tree-dfa.c (create_var_ann): Use GGC_NEW. + (create_stmt_ann): Likewise. + (create_tree_ann): Likewise. + (referenced_var_insert): Likewise. + (set_default_def): Likewise. + (referenced_var_lookup_if_exists): Use explicit cast to convert + from void *. + (referenced_var_lookup): Likewise. + (default_def): Likewise. + (set_default_def): Likewise. + * tree-cfg.c (create_bb): Likewise. + (edge_to_cases_cleanup): Likewise. + (verify_node_sharing): Likewise. + (record_switch_edge): Use XNEW. + (cleanup_dead_labels): Use XCNEWVEC. + (tree_duplicate_sese_region): Use XNEWVEC. + * tree-scalar-evolution.c (get_instantiated_value): Likewise. + * tree-ssa.c (verify_ssa): Use XCNEWVEC. + (int_tree_map_eq): Use explicit cast to convert from void *. + * libgcov.c (gcov_exit): Use explicit cast to convert from void *. + (__gcov_execl): Likewise. + (__gcov_execlp): Likewise. + (__gcov_execle): Likewise. + * tree-eh.c (struct_ptr_eq): Likewise. + (struct_ptr_hash): Likewise. + (lookup_stmt_eh_region_fn): Likewise. + (outside_finally_tree): Likewise. + (find_goto_replacement): Likewise. + (make_eh_edge): Likewise. + (mark_eh_edge): Likewise. + (add_stmt_to_eh_region_fn): Use GGC_NEW. + (record_in_finally_tree): Use XNEW. + (maybe_record_in_goto_queue): Use XRESIZEVEC. + (lower_try_finally_copy): Use XCNEWVEC. + +2005-12-17 Gabriel Dos Reis + + * tree-inline.c (copy_body_r): Use explicit cast when converting + from void *. + (copy_bb): Likewise. + (copy_edges_for_bb): Likewise. + (remap_decl_1): Likewise. + (estimate_num_insns_1): Likewise. + * cgraph.c (hash_node): Use explicit cast when converting from + void *. + (eq_node): Likewise. + (cgraph_create_node): Use GGC_CNEW. + (cgraph_create_edge): Use GGC_NEW. + (cgraph_remove_node): Use explicit cast when converting from void *. + (hash_varpool_node): Likewise. + (eq_varpool_node): Likewise. + (cgraph_varpool_node): Use GGC_CNEW. + * lambda.h (lambda_vector_new): Use GGC_CNEWVEC. + * tree-scalar-evolution.c (new_scev_info_str): Use XNEW. + (eq_scev_info): Use explicit cast when converting from void *. + (find_var_scev_info): Likewise. + (set_instantiated_value): Likewise. + (gather_stats_on_scev_database_1): Likewise. + * cfgloop.h (simple_loop_desc): Use explicit cast when converting + from void *. + * c-pch.c (c_common_write_pch): Use XNEWVEC. + (c_common_read_pch): Likewise. + * prefix.c (save_string): Use XNEWVEC. + (translate_name): Use explicit cast when converting from void *. + * c-ppoutput.c (print_line): Use explicit cast when converting + from void *. + (pp_dir_change): Likewise. + * c-cppbuiltin.c (builtin_define_std): Likewise. + (builtin_define_with_value): Likewise. + (builtin_define_with_value_n): Likewise. + (builtin_define_with_int_value): Likewise. + (builtin_define_type_max): Likewise. + * c-incpath.c (add_env_var_paths): Use XNEWVEC. + (add_path): Use XNEW. + * c-format.c (check_format_info_main): Use GGC_NEW. + (format_type_warning): Use explicit cast when converting from void *. + * c-typeck.c (alloc_tagged_tu_seen_cache): Use XNEW instead of + xmalloc. + (start_init): Likewise. + * tree-flow-inline.h (first_referenced_var): Use explicit cast + when converting from void *. + (next_referenced_var): Likewise. + * c-pragma.c (push_alignment): Use GGC_NEW instead of ggc_alloc. + * gensupport.c (lookup_predicate): Use explicit cast to convert + from void *. + (init_predicate_table): Use XCNEW instead of xcalloc. + * genpreds.c (process_define_predicate): Likewise. + +2005-12-17 Danny Berlin + Kenneth Zadeck + + * basic-block.h: Changed basic block numbering so that the entry + block is 0 and the exit block is 1. Changed insn iterators so + that they are tolerant of blocks with no insns. + * regrename.c (copyprop_hardreg_forward): Changed basic block + numbering so that the entry block is 0 and the exit block is 1. + * sched-ebb.c (sehedule_ebbs): Ditto. + * tracer.c (branch_ratio_cutoff): Ditto. + * cfgloopmanip.c (fix_loop_structure): Ditto. + * cfghooks.c (verify_flow_info): Ditto. + * cfg.c (compact_blocks): Ditto. + * reorg.c (dbr_schedule): Ditto. + * flow.c (calculate_global_regs_live, libcall_dead_p): Ditto. + * dominance.c (calc_dfs_tree_nonrec, calc_dfs_tree, + calculate_dominance_info): Ditto. + * cfganal.c (create_edge_list, print_edge_list, + flow_depth_first_order_compute, flow_dfs_compute_reverse_init, + flow_dfs_compute_reverse_add_bb, flow_dfs_compute_reverse_execute, + dfs_enumerate_from): Ditto. + * global.c (global_alloc, set_up_bb_rts_numbers): Ditto. + * ifcvt.c (find_if_case_2): Ditto. + * cfgbuild.c (control_flow_insn_p, count_basic_blocks, + find_basic_blocks): Ditto. + * predict.c (predict_loops, tree_bb_level_predictions, + predict_paths_leading_to, propagate_freq): Ditto. + * lcm.c (compute_antinout_edge, compute_laterin, + compute_available): Ditto. + * function.c (thread_prologue_and_epilogue_insns): Ditto. + * gcse.c (gcse_main, bypass_jumps): Ditto. + * profile.c (compute_branch_probabilities, + compute_value_histograms, branch_prob): Ditto. + * tree-flow-inline.h (bsi_start, bsi_after_labels, + bsi_last): Ditto. + * tree-ssa-phiopt.c (tree_ssa_phiopt, + blocks_in_phiopt_order): Ditto. + * bt-load.c (compute_defs_uses_and_gen, compute_kill, + compute_out, link_btr_uses, migrate_btr_defs): Ditto. + * tree-dfa.c (collect_dfa_stats): Ditto. + * cfgcleanup.c (try_forward_edges, try_optimize_cfg): Ditto. + * cfglayout.c (fixup_reorder_chain): Ditto. + * bb-reorder.c (reorder_basic_blocks, duplicate_computed_gotos, + partition_hot_cold_basic_blocks): Ditto. + * var-tracking.c (vt_find_locations): Ditto. + * cfgloop.c (flow_loops_cfg_dump, flow_loops_find, get_loop_body): Ditto. + * sched-rgn.c (compute_trg_info, init_regions, schedule_insns): Ditto. + * tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, make_edges + label_to_block_fn, print_loop_ir, tree_flow_call_edges_add): Ditto. + * tree-ssa-reassoc.c (init_reassoc): Ditto. + * cfgrtl.c (entry_of_function, rtl_verify_flow_info, + rtl_flow_call_edges_add, rtl_flow_call_edges_add): Ditto. + * df.c (df_analyze_1, hybrid_search, iterative_dataflow): Ditto + and removed unused reverse orders. + * df.h (): Ditto. + * combine.c: Fix document typo. + +2005-12-17 Jan Hubicka + + * tree-flow-inline.h (set_default_def, default_def): Kill. + * tree-dfa.c (default_defs): New global variable. + (default_def, set_default_def): New functions. + * tree-ssa.c (init_tree_ssa, delete_tree_ssa): Add default_def hash. + * tree-flow.h (struct var_ann_d): Kill default_def field. + (set_default_def, default_def): Update prototype. + (default_defs): Declare. + +2005-12-16 Jeff Law + + * tree-ssa-dom.c (update_rhs_and_lookup_avail_expr): Kill. + (simplify_rhs_and_lookup_avail_expr): Kill. Remnants moved + into tree-ssa-forwprop.c. + (eliminate_redundant_computations): Do not call + simplify_rhs_and_lookup_avail_expr anymore. + * tree-ssa-forwprop.c (simplify_not_neg_expr): New function + extracted from remnants of simplify_rhs_and_lookup_avail_expr. + (tree_ssa_forward_propagate_single_use_vars): Call + simplify_not_neg_expr appropriately. + +2005-12-16 Bernd Trog + + PR target/20016 + * config/avr/t-avr: Add -Os to TARGET_LIBGCC2_CFLAGS. + +2005-12-17 Kazu Hirata + + PR rtl-optimization/25456 + * struct-equiv.c (struct_equiv_improve_checkpoint): Replace + info->x_start with p->x_start. + +2005-12-17 Alan Modra + + * simplify-rtx.c (simplify_binary_operation_1 ): Correct bug + introduced 2005-12-16. + +2005-12-16 Steven Bosscher + + PR rtl-optimization/23837 + * optabs.c (expand_binop): For a multi-word rotate, never emit + a REG_NO_CONFLICT block. + +2005-12-16 John David Anglin + + PR middle-end/25457 + * reorg.c (mostly_true_jump): Remove unused variable 'insn'. + + PR target/25447 + * config/pa/pa.c (pa_scalar_mode_supported_p): Handle + MODE_DECIMAL_FLOAT. + +2005-12-16 Steven Bosscher + + * loop-invariant.c (move_loop_invariants): Add missing hunk from + the previous patch, to nullify df. + +2005-12-16 Steven Bosscher + + * reorg.c (mostly_true_jump): Clean up code depending on + LABEL_OUTSIDE_LOOP_P and loop notes. Remove code doing + poor man's branch prediction, instead rely on REG_BR_PROB + notes to be available. + +2005-12-16 Jakub Jelinek + + PR rtl-optimization/24899 + * loop.c (strength_reduce): Don't reduce giv that is not always + computable and where add_val or mult_val can trap. + + * doc/invoke.texi (-fdump-tree-*): Remove note about C/C++ only. + +2005-12-16 Nathan Sidwell + + * config/mt/mt.h (LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Correct + names of ms1-16-002 files. + +2005-12-16 Alan Modra + + PR driver/20425 + * gcc.c (for_each_path): New function. + (add_to_obstack, file_at_path): New functions. + (struct file_at_path_info, struct add_to_obstack_info): New. + (build_search_list): Rewrite using for_each_path. Constify struct + path_prefix pointer. Add do_multi param. Adjust all callers. + (find_a_file): Similarly, but just change existing param to bool. + (putenv_from_prefixes): Add do_multi param, make "paths" const. + (do_spec_path): Delete. + (struct spec_path_info): New. + (spec_path): New function. + (do_spec_1): Use for_each_path for %D and %I. + (find_file): Adjust for find_a_file changes. + (main): Search multilibs for specs. Print multilib lib path for + -print-search-dirs. Likewise add multilibs to LIBRARY_PATH_ENV. + (read_specs): Search multilibs for %include and %include_noerr. + (is_directory): Remove second string param. Change last param + to a bool. Don't use concat. Remove SMALL_ARG_MAX test, always + check path is a dir. Update all callers. + * doc/hostconfig.texi (SMALL_ARG_MAX): Remove mention. + * system.h (SMALL_ARG_MAX): Poison. + * config.gcc: Don't define SMALL_ARG_MAX. + * config.host: Likewise. + * config.build: Likewise. + +2005-12-16 Paolo Bonzini + + * combine.c (combine_simplify_rtx , + simplify_logical): Move simplifications that do not require + additional infrastructure... + * simplify-rtx.c (simplify_unary_operation_1, + simplify_binary_operation_1): ... here. + +2005-12-16 Andreas Krebbel + + PR 24823 + * flow.c (mark_used_dest_regs): New function. + (mark_used_regs): Call mark_used_dest_regs. + +2005-12-16 Jeff Law + + * tree-ssa-dse.c (dse_optimize_stmt): Correctly handle PHI nodes which + represent a use and definition of the same SSA_NAME. + +2005-12-16 Jon Grimm + Janis Johnson + Ben Elliston + + * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): New. + (TARGET_INITIALIZER): Add TARGET_DECIMAL_FLOAT_P. + * target.h (struct gcc_target): Add decimal_float_supported_p. + * targhooks.c (default_scalar_mode_supported_p): Handle + MODE_DECIMAL_FLOAT. + * builtins.def: Add new builtins for 32, 64 and 128 bit variants + of inf, nan, finite, isinf and isnan. + * builtin-types.def (BT_DFLOAT32, BT_DFLOAT64, BT_DFLOAT128, + BT_DFLOAT32_PTR, BT_DFLOAT64_PTR, BT_DFLOAT128_PTR, + BT_FN_DFLOAT32, BT_FN_DFLOAT64, BT_FN_DFLOAT128, + BT_FN_INT_DFLOAT32, BT_FN_INT_DFLOAT64, BT_FN_INT_DFLOAT128, + BT_FN_DFLOAT32_CONST_STRING, BT_FN_DFLOAT64_CONST_STRING, + BT_FN_DFLOAT32_CONST_STRING, BT_FN_DFLOAT32_DFLOAT32, + BT_FN_DFLOAT64_DFLOAT64, BT_FN_DFLOAT128_DFLOAT128): New. + * c-decl.c (declspecs_add_type): Verify combos on type qualifiers. + Pedwarn if decimal floating point types are used. Error if + decimal floating point is not supported by the target. + (finish_declspecs): Return type from DFP typespec_word. + * c-typeck.c (c_common_type): Choose the decimal floating point + type with the greater precision when determining a common type. + (convert_arguments): Warn if there is a mismatch between argument + and prototype for decimal float types. Warn of conversions with + binary float types and of precision narrowing due to prototype. + * c-parser.c (reswords): Add _Decimal32, _Decimal64, _Decimal128. + (c_token_starts_typename): Handle RID_DFLOAT32/64/128. + (c_token_starts_declspecs): Likewise. + (c_parser_attributes): Likewise. + * c-common.h (enum rid): Add new enumeration values RID_DFLOAT32, + RID_DFLOAT64, RID_DFLOAT128. + (T_D32, TEX_D32, T_D64, TEX_D64, T_D128, TEX_D128): New macros. + * c-common.c (c_common_type_for_mode): Handle decimal float modes. + (shorten_compare): Convert DFP/BFP operands to a common type. + (c_common_modes_and_builtins): Register built-in decimal float + types if the target supports them. + (handle_mode_addtribute): Handle MODE_DECIMAL_FLOAT. + * builtins.c (fold_builtin_1): Handle 32, 64 and 128 bit cases of + inf, nan, finite, isinf and isnan builtins. + * c-cppbuiltin.c (builtin_define_decimal_float_constants): New. + (builtin_define_float_constants): Assert non-decimal radix. + (c_cpp_builtins): Register built-in __DEC_EVAL_METHOD__ define. + Call builtin_define_decimal_float_constants for each type. + * c-lex.c (interpret_float): Decode decimal float types from CPP_N + flags. Use real_from_string3, which can handle binary or decimal + floats. + * c-tree.h (enum c_typespec_keyword): Add cts_dfloat32, + cts_dfloat64, cts_dfloat128. + * tree.c (build_common_tree_nodes_2): Add decimal float types. + * tree.h (enum tree_index): Add new enumeration values + TI_DFLOAT32_TYPE, TI_DFLOAT64_TYPE, TI_DFLOAT128_TYPE, + TI_DFLOAT32_PTR_TYPE, TI_DFLOAT64_PTR_TYPE, TI_DFLOAT128_PTR_TYPE. + (dfloat32_type_node): New macro. + (dfloat64_type_node, dfloat128_type_node): Likewise. + (dfloat32_ptr_type_node, dfloat64_ptr_type_node): Likewise. + (dfloat128_ptr_type_node): Likewise. + * c-pretty-print.c (pp_c_floating_constant): Append 32, 64 and 128 + bit decimal floating point types with "df", "dd" and "dl". + * c-format.h (enum format_lengths): Add new enumeration values + FMT_LEN_H, FMT_LEN_D and FMT_LEN_DD. + * c-format.c (printf_length_specs, scanf_length_specs): Add + entries for H, D, DD. + (print_char_table, scan_char_table): Use new entries. + (asm_fprintf_char_table, gcc_diag_char_table, + gcc_cdiag_char_table, gcc_cxxdiag_char_table): Adjust for longer + length arrays. + * defaults.h (DECIMAL32_TYPE_SIZE): Define. + (DECIMAL64_TYPE_SIZE): Likewise. + (DECIMAL128_TYPE_SIZE): Likewise. + (TARGET_DEC_EVAL_METHOD): Likewise. + * doc/extend.texi (Decimal Float): New node. + (Constructing Calls): Document decimal float built-ins. + * doc/tm.texi: Document TARGET_DECIMAL_FLOAT_SUPPORTED_P hook. + * Makefile.in (USER_H): Add $(srcdir)/ginclude/decfloat.h. + * ginclude/decfloat.h: New file. + +2005-12-16 Alan Modra + + * reload.c (find_reloads): Fix comment typo. + * recog.h (recog_memoized): Correct comment. + +2005-12-16 Kazu Hirata + + * basic-block.h, config/i386/winnt.c, config/pa/pa.c, + config/s390/s390.c, dfp.c, expr.c, fold-const.c, params.def, + reload.c, struct-equiv.c, tree-ssa-ccp.c, tree-ssa-pre.c, + tree-ssa-reassoc.c, tree-ssa-structalias.c: Fix comment typos. + * doc/invoke.texi, doc/tm.texi: Fix typos. + +2005-12-16 Ben Elliston + + * real.c (decimal_quad_format): Correct values for emin, emax. + +2005-12-15 DJ Delorie + + * config/m32c/predicates.md (m32c_psi_scale): New. + * config/m32c/m32c.c (m32c_expand_neg_mulpsi3): New. + * config/m32c/muldiv.md (mulpsi3): Support negative constants. + +2005-12-16 Jan Hubicka + + PR rtl-optimization/25224 + * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Free copy + tables. + 2005-12-15 Zdenek Dvorak Steven Bosscher @@ -325,9 +1068,6 @@ 2005-12-13 Nathan Sidwell - * sim/common/sim-signal.c (sim_signal_to_target): Add missing ':'. - * sim/common/sim-signal.h (sim_signal_to_target): Return an int. - * config/mt/t-mt (crti.o, crtn.o): Add multilib options. (EXTRA_MULTILIB_PARTS): Define. @@ -414,7 +1154,7 @@ * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Pass -meabi=gnu for apcs/atpcs. -2005-12-11 Rafael Ávila de Espíndola +2005-12-11 Rafael vila de Espndola * tree-flow.h: Allow compilation with a C++ compiler. (struct edge_prediction): Prefix all field names with "ep_". @@ -641,8 +1381,8 @@ 2005-12-09 Aldy Hernandez - * config/ms1/t-ms1 (MULTILIB_OPTIONS): Define. - (MULTILIB_DIRNAMES): Define. + * config/ms1/t-ms1 (MULTILIB_OPTIONS): Define. + (MULTILIB_DIRNAMES): Define. 2005-12-09 Ulrich Weigand @@ -823,18 +1563,18 @@ * coretypes.h (section): Provide dummy definition for target files. * config/darwin.h: Revert previous change. -2005-12-07 Rafael Ávila de Espíndola +2005-12-07 Rafael vila de Espndola * doc/sourcebuild.texi (all.build, install-normal): Remove. * configure.ac: Remove all.build and install-normal from target_list * configure: Regenerate. * Makefile.in (install): Don't depend on install-normal. -2005-12-07 Rafael Ávila de Espíndola +2005-12-07 Rafael vila de Espndola * Makefile.in: Document the use of stamps. -2005-12-07 Rafael Ávila de Espíndola +2005-12-07 Rafael vila de Espndola * doc/gty.texi: Remove instructions for adding a dependency on s-gtype. * Makefile.in: Add code to compute some dependencies on s-gtype @@ -10417,7 +11157,7 @@ * gcc.c (main): Compare language[0] with '*' when iterating over the infiles. -2005-07-13 Adrian Strae½tling +2005-07-13 Adrian Straetling * config/s390/s390.c: (s390_cc_modes_compatible): Move before "s390_emit_compare". Add handling of CCZ1mode. @@ -10430,7 +11170,7 @@ Use CCZ1mode instead of CCZmode. * config/s390/s390-modes.def: Add CCZ1mode. Comment new mode. -2005-07-13 Adrian Strae½tling +2005-07-13 Adrian Straetling * config/s390/s390.md: ("cmpstrsi", "*cmpstr"): New pattern.