X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2FChangeLog;h=5e66ff672d6bdbe744c15e6633d597e276f590ff;hb=2944258965f5bb918cccbab259fdac072abfd8a7;hp=66b6584588fe4982049036c3154114882d7cc052;hpb=1f57487cf037ee3d06beab4b6dfc6a2dddb9a878;p=gcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66b6584588f..5e66ff672d6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,395 @@ +2008-09-12 Richard Guenther + + * tree-vrp.c (simplify_truth_ops_using_ranges): Fix types. + +2008-09-12 Eric Botcazou + + PR rtl-optimization/37424 + * ira-color.c (coalesced_pseudo_reg_slot_compare): Untie by comparing + the regnos instead of the addresses. + +2008-09-11 Janis Johnson + + * ginclude/float.h (DEC_EVAL_METHOD): Correct the macro name. + +2008-09-11 Richard Guenther + + * tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid + entering the weaker equivalence recording. + + * tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification. + +2008-09-11 Jeff Law + + * reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed + by assign_stack_local on the IRA path for stack slot sharing + as well as the non-IRA path. + +2008-09-11 Uros Bizjak + + * config/i386/i386.h: Fix whitespace issues. + +2008-09-11 Martin Jambor + + * ipa-prop.h (struct ipa_param_flags): Removed. + (struct ipa_param_descriptor): New structure. + (struct ipa_node_params): ipcp_lattices, param_decls and + param_flags moved to ipa_param_description. + (ipa_get_ith_param): Renamed to ipa_get_param, changed to access + descriptors. Renamed all users. + (ipa_is_ith_param_modified): Renamed to ipa_is_param_modified, + changed to access descriptors. Renamed all users. + (ipa_is_ith_param_called): Renamed to ipa_is_param_called, changed + to access descriptors. Renamed all users. + * ipa-cp.c (ipcp_init_cloned_node): Call + ipa_initialize_node_params instead of ipa_count_formal_params and + ipa_create_param_decls_array. + (ipcp_analyze_node): Likewise. + (ipcp_get_ith_lattice): Renamed to ipcp_get_lattice, changed to access + descriptors. Renamed all users. + (ipcp_initialize_node_lattices): Remove allocation. + * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call + ipa_initialize_node_params instead of ipa_count_formal_params and + ipa_create_param_decls_array. + * ipa-prop.c (ipa_create_param_decls_array): Renamed to + ipa_populate_param_decls, made static, added parameter info, + renamed mt to node, removed allocation, changed to use + descriptors. + (ipa_count_formal_params): Made static, added parameter info, + renamed mt to node. + (ipa_initialize_node_params): New function. + (ipa_check_stmt_modifications): Changed to use descriptors. + (ipa_detect_param_modifications): Removed allocation, changed to + use descriptors. + (ipa_note_param_call): Changed to use descriptors. + (ipa_analyze_params_uses): Removed allocation. + (ipa_free_node_params_substructures): Changed to use descriptors. + (ipa_edge_duplication_hook): Use the unused attribute. + (ipa_node_duplication_hook): Use the unused attribute, changed to + use descriptors, changed to duplicate descriptors. + + * ipa-inline.c (cgraph_mark_inline_edge): New parameter new_edges, + changed all callers. Call ipa_propagate_indirect_call_infos if doing + indirect inlining. Made static. + (cgraph_decide_inlining): Freeing ipa-prop structures after inlining + functions called only once. + (cgraph_decide_recursive_inlining): Don't call + ipa_propagate_indirect_call_infos, pass new_edges to + cgraph_mark_inline_edge instead. + (cgraph_decide_inlining_of_small_functions): Don't call + ipa_propagate_indirect_call_infos, pass new_edges to + cgraph_mark_inline_edge instead. + (cgraph_decide_inlining): Don't call + ipa_propagate_indirect_call_infos. + * ipa-prop.c: Check that vectors are allocated. + + * ipa-inline.c (cgraph_mark_inline_edge): Returns boolean, true + iff a new cgraph edges have been created. + (cgraph_decide_inlining): New variable redo_always_inline. + Flattening and always_inlining loop until callgraph stabilizes. + * ipa-prop.c (update_call_notes_after_inlining): Returns boolean, + true iff new cgraph edges have been created. + (propagate_info_to_inlined_callees): Likewise. + (ipa_propagate_indirect_call_infos): Likewise. + +2008-09-11 Richard Guenther + + * tree-vectorizer.c (slpeel_add_loop_guard): Fix types. + (set_prologue_iterations): Likewise. + * tree-vect-transform.c (vect_create_addr_base_for_vector_ref): + Likewise. + (vect_update_init_of_dr): Likewise. + * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix + type verification. + * fold-const.c (fold_unary): Do not generate calculations + in sub-types. + +2008-09-11 Paolo Bonzini + + * dojump.c (do_jump) [BIT_AND_EXPR]: Move below. Fall through to + TRUTH_AND_EXPR for boolean (1-bit precision) expressions. + (do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR. + + * tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return a bool. + * tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to + VRP's simplify_stmt_using_ranges. Do simplify_stmt_using_ranges + before finalizing the changes. + * tree-vrp.c (extract_range_from_binary_expr): Add limited support + for BIT_IOR_EXPR. + (simplify_truth_ops_using_ranges): New. + (simplify_div_or_mod_using_ranges, simplify_abs_using_ranges, + simplify_cond_using_ranges, simplify_switch_using_ranges): Return + whether a simplification was made. + (simplify_stmt_using_ranges): Ditto, and accept a GSI. For GS_ASSIGN, + use a switch statement and also call simplify_truth_ops_using_ranges. + +2008-09-11 Jan Hubicka + + * ggc-common.c (loc_array): Make static. + * dce.c (rest_of_handle_ud_dce): Free worklist. + +2008-09-11 Jan Hubicka + + * cgraph.c (cgraph_release_function_body): Plug memory leak on + ipa_transforms_to_apply and CFG; ggc_free gimple df and struct function + so we are sure we do not dangle it forever. + * function.c (outer_function_chain, find_function_data): Remove. + (function_context_stack): New. + (push_function_context, pop_function_context): Update. + * function.h (struct function): Remove pointer outer. + (outer_function_chain, find_function_data): Remove. + * stmt.c (force_label_rtx): Remove dead call of find_function_data. + +2008-09-11 Jan Hubicka + + PR middle-end/37448 + * cgraph.c (cgraph_create_edge): Use !cgraph_edge for sanity check. + +2008-09-11 Jan Hubicka + + * tree-ssa-pre.c (phi_translate_1): Fix memory leak + +2008-09-11 Jan Hubicka + + * tree-ssa.c (redirect_edge_var_map_clear): Fix formatting. + (free_var_map_entry): New function. + (redirect_edge_var_map_destroy): Use it. + +2008-09-11 Jan Hubicka + + PR middle-end/37448 + * tree-inline.c (add_lexical_block): Replace with ... + (prepend_lexical_block): ... prepend at begginig. + (remap_blocks): Use it and reverse later. + (expand_call_inline): Use prepend_lexical_block. + +2008-09-11 Jan Hubicka + + * gimplify.c (pop_gimplify_context): Free bind_expr_stack. + +2008-09-11 Jan Hubicka + + * function.c (free_after_compilation): Call insn_locators_free. + * cfglayout.c (insn_locators_free): New function. + * rtl.h (insn_locators_free): Declare. + +2008-09-11 Jan Hubicka + + * ifcvt.c (check_cond_move_block): Make regs argument pointer to + vector pointer. + (cond_move_process_if_block): Update call. + +2008-09-11 Jan Hubicka + + * toplev.c (dump_memory_report): Call dump_vec_loc_statistics. + * vec.c: Include hashtab.h + (vec_descriptor, ptr_hash_entry): New structures. + (vec_desc_hash, vec_ptr_map): New static variables. + (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr, vec_descriptor, + register_overhead, free_overhead, vec_heap_free): New functions. + (vec_gc_o_reserve_1): ggc_free when resizing to 0. + (vec_heap_o_reserve_1): free when resizing to 0; add statistics. + (cmp_statistic, add_statistics, dump_vec_loc_statistics): New functions. + +2008-09-11 Ira Rosen + + PR tree-optimization/37474 + * tree-vect-analyze.c (vect_supported_load_permutation_p): Check the + length of load permutation. + +2008-09-11 Andreas Schwab + + * config/m68k/m68k.h (IRA_COVER_CLASSES): Define. + +2008-09-11 Jakub Jelinek + + PR target/37382 + * expmed.c (extract_low_bits): Avoid creating invalid subregs. + * dse.c (find_shift_sequence): Use extract_low_bits instead of + simplify_gen_subreg. + +2008-09-11 Ira Rosen + + * tree-vect-transform.c (vectorizable_store): Use the rhs vector type + for alias check. + +2008-09-10 Jakub Jelinek + + PR middle-end/37338 + * gimplify.c (gimplify_body): Call default_rtl_profile. + + PR target/36904 + * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): Return NULL + instead of tok->val.node if not expanding to something else. Handle + intervening CPP_PADDING tokens. + (altivec_categorize_keyword): Remove unneeded comparisons. + +2008-09-10 Richard Guenther + + * tree-ssa-pre.c (phi_translate_1): Fix memory leak. + +2008-09-10 Richard Guenther + + PR middle-end/37432 + * tree-inline.c (insert_init_stmt): Make sure to not + insert invalid gimple stores. + +2008-09-10 Sebastian Pop + + PR tree-optimization/37388 + * toplev.c (process_options): Fail and warn when graphite + flags are used, but the compiler has not been configured + with graphite libraries. + * graphite.c (graphite_transform_loops): Remove printfs + to dump_file for the case when graphite is not available. + +2008-09-10 H.J. Lu + + PR target/37434: + * config/i386/i386.c (ix86_expand_vector_init_interleave): Force + the even element into register. + (ix86_expand_vector_init_general): Don't use + ix86_expand_vector_init_interleave on V16QImode and V8HImode + if we can't move from GPR to SSE register directly. + +2008-09-10 Bernd Schmidt + + * config/bfin/bfin.c (workaround_speculation): Correct algorithm to + not lose track of the number of NOPs needed. Number of NOPs needed + for sync vs. loads workaround was switched; corrected. Run second + pass for all workarounds. No NOPs needed after call insns. Change + second pass to use find_next_insn_start and find_load helpers in order + to properly detect parallel insns. + * config/bfin/bfin.md (cbranch_with_nops): Increase length. + +2008-09-10 Jan Hubicka + + * value-prof.c (gimple_ic): Fix tuplification bug. + * sched-deps.c (sched_insns_conditions_mutex_p): Silence unitialized + var warning. + +2008-09-10 Jakub Jelinek + + PR tree-optimization/37353 + * tree-call-cdce.c (cond_dead_built_in_calls): Remove. + (shrink_wrap_conditional_dead_built_in_calls): Add calls argument, use + calls instead of cond_dead_built_in_calls. + (tree_call_cdce): Add cond_dead_built_in_calls automatic variable, + initalize the vector only before adding first entry. Use VEC_safe_push + instead of VEC_quick_push. Pass cond_dead_built_in_calls to + shrink_wrap_conditional_dead_built_in_calls call. + +2008-09-10 Ira Rosen + + PR tree-optimization/37385 + * tree-vect-transform.c (vect_create_data_ref_ptr): Add a new argument, + and use it as a vector type if not NULL. + (vectorizable_store): Call vect_create_data_ref_ptr with the type of + vectorized rhs. + (vect_setup_realignment): Call vect_create_data_ref_ptr with additional + argument. + (vectorizable_load): Likewise. + +2008-09-10 Jakub Jelinek + + * config/i386/i386.md (SWI32): New mode iterator. + (jcc_fused_1, jcc_fused_2, jcc_fused_3, jcc_fused_4): Use it instead + of SWI. + +2008-09-09 Vladimir Makarov + + PR rtl-optimization/37435 + * caller-save.c (insert_restore, insert_save): Check the mode by + reg_save_code. + +2008-09-09 John David Anglin + + PR other/37265 + * dwarf2asm.c (dw2_force_const_mem): Use unstripped symbol name for + splay tree lookup. + (dw2_output_indirect_constant_1): Use unstripped name in symbol + reference. + +2008-09-09 Sandra Loosemore + + * doc/invoke.texi (ARM Options): Correct errors in discussion + of -mfloat-abi, -mhard-float, and -msoft-float. + +2008-09-09 Jakub Jelinek + Jan Hubicka + + PR middle-end/37356 + * tree-inline.c (copy_bb): Insert stmt into copy_basic_block before + calling gimple_regimplify_operands on it. Iterate over all newly + added statements, not just the last one. + (insert_init_stmt): Insert stmt into seq first, then call + gimple_regimplify_operands on it. Don't create new gimplification + context, nor find referenced vars. + +2008-09-09 Jakub Jelinek + + PR other/37419 + * ipa-prop.h (ipa_propagate_indirect_call_infos): Change last argument + to pointer to vector pointer. + * ipa-prop.c (ipa_propagate_indirect_call_infos, + propagate_info_to_inlined_callees): Likewise. + (update_call_notes_after_inlining): Likewise. Push new indirect edge + to *new_edges instead of new_edges. Reread IPA_EDGE_REF after + ipa_check_create_edge_args. + * ipa-inline.c (cgraph_decide_recursive_inlining): Change last argument + to pointer to vector pointer. + (cgraph_decide_inlining_of_small_function): Adjust + cgraph_decide_recursive_inlining and ipa_propagate_indirect_call_infos + calls. + + PR target/37438 + * config/i386/i386.md (zero_extendqihi2_movzbl): Enable when optimizing + for size, not speed. + + PR rtl-optimization/37408 + * function.c (assign_parm_find_stack_rtl): Set correct MEM_SIZE + if parm is promoted. + +2008-09-09 Sebastian Pop + + PR tree-optimization/37375 + * tree-scalar-evolution.c (scev_info_str): Add field instantiated_below. + (new_scev_info_str, eq_scev_info, find_var_scev_info, + set_scalar_evolution, get_scalar_evolution, get_instantiated_value, + set_instantiated_value): Pass instantiated_below. + (analyze_scalar_evolution_1, analyze_scalar_evolution): Update calls to + above functions. + (instantiate_scev_1, instantiate_scev): Pass a basic block above which + the definitions are not instantiated. + + * tree-scalar-evolution.h (instantiate_scev): Update declaration. + (block_before_loop): New. + * tree-data-ref.c (dr_analyze_indices): Update uses of instantiate_scev. + * graphite.c (block_before_scop): New. + (loop_affine_expr, stmt_simple_for_scop_p, harmful_stmt_in_bb): Pass a + basic block, not a loop for determining the parameters. + (scopdet_edge_info, build_scops_1): Do not pass outermost loop in the + scop. + (idx_record_params, find_params_in_bb, find_scop_parameters, + build_loop_iteration_domains, add_conditions_to_domain): Update calls + to instantiate_scev. + + * Makefile.in (cfgloopmanip.o): Add missing dependency on TREE_FLOW_H. + +2008-09-09 Vladimir Makarov + + PR rtl-opt/37333 + + * ira-build.c (ira_create_allocno): Setup frequency to 0. + + * ira-color.c (update_conflict_hard_regno_costs): Remove assert. + Check zero freq and increase if necessary. + +2008-09-09 Vladimir Makarov + + * ira-conflicts.c (process_regs_for_copy): Check that the hard + regno is in the right range. Add comments. + 2008-09-09 Rainer Orth * Makefile.in (mips-tfile.o-warn): Don't error out on mips-tfile.c @@ -17,8 +409,8 @@ 2008-09-09 Jan Hubicka - * profile.c (is_edge_inconsistent): Add debug output; ignore negative count - on fake edges. + * profile.c (is_edge_inconsistent): Add debug output; ignore + negative count on fake edges. (is_inconsistent): Add debug output. 2008-09-09 Andrey Belevantsev @@ -30,7 +422,7 @@ 2008-09-09 Andrey Belevantsev - PR rtl-optimization/37360 + PR rtl-optimization/37360 * haifa-sched.c (max_issue): Do not assert that we never issue more insns than issue_rate. Add comment. @@ -174,19 +566,19 @@ 2008-09-07 Helge Deller - * pa/linux-atomic.c: New file. + * pa/linux-atomic.c: New file. * pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define. * pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define. 2008-09-07 Richard Guenther - Ira Rosen + Ira Rosen PR tree-optimization/36630 * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Call STRIP_NOPS before calling evolution_part_in_loop_num. 2008-09-07 Dorit Nuzman - Ira Rosen + Ira Rosen PR tree-optimization/35642 * config/rs6000/altivec.md (mulv8hi3): Implement. @@ -198,7 +590,8 @@ 2008-09-06 Jan Hubicka PR tree-optimization/14703 - * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored declarations. + * tree-ssa-live.c (remove_unused_scope_block_p): Remove ignored + declarations. * passes.c (init_optimization_passes): Recompute inline parameters. 2008-09-06 Richard Sandiford @@ -257,9 +650,8 @@ 2008-09-05 Vladimir Makarov - * ira-color.c (ira_fast_allocation): Permit global allocno - allocation. - + * ira-color.c (ira_fast_allocation): Permit global allocno allocation. + 2008-09-05 Trevor Smigiel Improved branch hints, safe hints, and scheduling. @@ -530,8 +922,7 @@ 2008-09-04 Nick Clifton - * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler - check. + * configure.ac (HAVE_GAS_LCOMM_WITH_ALIGNMENT): New assembler check. * configure: Regenerate. * config.in: Regenerate. * config/i386/bsd.h (ASM_OUTPUT_ALIGNED_LOCAL): Use .lcomm with an @@ -691,11 +1082,9 @@ 2008-09-03 Danny Smith - * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is - defined. + * gthr-win32.h (CONST_CAST2): Really make sure CONST_CAST2 is defined. (__gthread_setspecific): Revert 2008-08-31 change to - __GTHREAD_HIDE_W32API case. Apply it to !__GTHREAD_HIDE_W32API - case. + __GTHREAD_HIDE_W32API case. Apply it to !__GTHREAD_HIDE_W32API case. 2008-09-02 Aldy Hernandez @@ -762,7 +1151,8 @@ 2008-09-02 Jan Hubicka * predict.c (pass_strip_predict_hints): Avoid bugs dump file. - * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and sdiv_pow2_cheap + * expmed.c (expand_divmod): Fix test of smod_pow2_cheap and + sdiv_pow2_cheap 2008-09-02 H.J. Lu @@ -957,8 +1347,7 @@ error. * c-omp.c (c_finish_omp_atomic): Pass location when calling build_indirect_ref. - * c-common.c (finish_label_address_expr): Handle new location - argument. + * c-common.c (finish_label_address_expr): Handle new location argument. * c-common.h (build_indirect_ref): Add argument. (finish_label_address_expr): Same. * c-parser.c (c_parser_unary_expression): Pass location to build @@ -976,8 +1365,7 @@ * config/arm/vfp.md: Document fcpys, ffariths, ffarithd, fadds, faddd, fconsts, fconstd, fcmps and fcmpd. Use them in insn patterns. * config/arm/arm.c (arm_issue_rate): Add cortexr4f. - * config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn - types. + * config/arm/arm1020e.md (v10_ffarith, v10_farith): Use new insn types. * config/arm/cortex-a8-neon.md (cortex_a8_vfp_add_sub, cortex_a8_vfp_farith: Ditto. * config/arm/vfp11.md (vfp_ffarith, vfp_farith): Ditto. @@ -1014,7 +1402,8 @@ * config/spu/spu.c (spu_expand_block_move) Update call of MOVE_RATIO. - * expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P): Pass speed operand. + * expr.c (MOVE_BY_PIECES_P, CLEAR_BY_PIECES_P, SET_BY_PIECES_P): + Pass speed operand. * expr.h (MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Update. * gimplify.c (gimplify_init_constructor): Add speed operand. * tree-sra.c (decide_block_copy): Likewise. @@ -1030,16 +1419,17 @@ * config/arm/arm.h (MOVE_RATIO): Update. * config/pa/pa.md: Update uses of MOVE_RATIO * config/pa/pa.h (MOVE_RATIO): Update. - * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES, CLEAR_RATIO, SET_RATIO): Update. + * config/mips/mips.h (MOVE_RATIO, MOVE_BY_PIECES, + CLEAR_RATIO, SET_RATIO): Update. * config/h8300/h8300.h (MOVE_RATIO): Update. * config/v850/v850.h (MOVE_RATIO): Update. * config/bfin/bfin.h (MOVE_RATIO): Update. 2008-08-31 Andrey Belevantsev - Dmitry Melnik - Dmitry Zhurikhin - Alexander Monakov - Maxim Kuvyrkov + Dmitry Melnik + Dmitry Zhurikhin + Alexander Monakov + Maxim Kuvyrkov * sel-sched.h, sel-sched-dump.h, sel-sched-ir.h, sel-sched.c, sel-sched-dump.c, sel-sched-ir.c: New files. @@ -1062,13 +1452,15 @@ * common.opt (fsel-sched-bookkeeping, fsel-sched-pipelining, fsel-sched-pipelining-outer-loops, fsel-sched-renaming, fsel-sched-substitution, fselective-scheduling): New flags. - * cse.c (hash_rtx_cb): New. + * cse.c (hash_rtx_cb): New. (hash_rtx): Use it. * dbgcnt.def (sel_sched_cnt, sel_sched_region_cnt, sel_sched_insn_cnt): New counters. - * final.c (compute_alignments): Export. Free dominance info after loop_optimizer_finalize. + * final.c (compute_alignments): Export. Free dominance + info after loop_optimizer_finalize. * genattr.c (main): Output maximal_insn_latency prototype. - * genautomata.c (output_default_latencies): New. Factor its code from ... + * genautomata.c (output_default_latencies): New. + Factor its code from ... (output_internal_insn_latency_func): ... here. (output_internal_maximal_insn_latency_func): New. (output_maximal_insn_latency_func): New. @@ -1079,8 +1471,9 @@ (EXECUTE_IF_SET_IN_HARD_REG_SET): New macro. * lists.c (remove_free_INSN_LIST_node, remove_free_EXPR_LIST_node): New functions. - * loop-init.c (loop_optimizer_init): When LOOPS_HAVE_FALLTHRU_PREHEADERS, - set CP_FALLTHRU_PREHEADERS when calling create_preheaders. + * loop-init.c (loop_optimizer_init): When + LOOPS_HAVE_FALLTHRU_PREHEADERS, set CP_FALLTHRU_PREHEADERS when + calling create_preheaders. (loop_optimizer_finalize): Do not verify flow info after reload. * recog.c (validate_replace_rtx_1): New parameter simplify. Default it to true. Update all uses. Factor out simplifying @@ -1308,7 +1701,8 @@ (deps_t): New. (struct sched_info): Rename to haifa_sched_info. Use const_rtx for print_insn field. Move add_block and fix_recovery_cfg to - common_sched_info_def. Move compute_jump_reg_dependencies, use_cselib ... + common_sched_info_def. Move compute_jump_reg_dependencies, + use_cselib ... (struct sched_deps_info_def): ... this new structure. (sched_deps_info): Declare. (struct spec_info_def): Remove weakness_cutoff, add @@ -1372,7 +1766,8 @@ (find_single_block_region): Add new argument to indicate that EBB regions should be constructed. (debug_live): Delete declaration. - (current_nr_blocks, current_blocks, target_bb): Remove static qualifiers. + (current_nr_blocks, current_blocks, target_bb): + Remove static qualifiers. (compute_dom_prob_ps, check_live, update_live, set_spec_fed): Delete declaration. (init_regions): Delete declaration. @@ -1391,7 +1786,8 @@ (debug_rgn_dependencies): Delete static qualifier. (new_ready): Use sched_deps_info. Simplify. (rgn_common_sched_info, rgn_const_sched_deps_info, - rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info): New. + rgn_const_sel_sched_deps_info, rgn_sched_deps_info, rgn_sched_info): + New. (region_sched_info): Rename to rgn_const_sched_info. (deps_join): New, extracted from ... (propagate_deps): ... here. @@ -1429,7 +1825,8 @@ requested from command line. * doc/invoke.texi: Document new flags and parameters. * doc/tm.texi: Document new target hooks. - * config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to ia64_gen_check. + * config/ia64/ia64.c (TARGET_SCHED_GEN_SPEC_CHECK): Define to + ia64_gen_check. (dfa_state_size): Do not declare locally. * config/ia64/ia64.opt (msched-ar-data-spec): Default to 0. * config/rs6000/rs6000.c (rs6000_init_sched_context, @@ -1508,7 +1905,8 @@ 2008-08-31 Jan Hubicka - * postreload-gcse.c (eliminate_partially_redundant_loads): Use optimize_bb_for_size_p. + * postreload-gcse.c (eliminate_partially_redundant_loads): + Use optimize_bb_for_size_p. * predict.c (maybe_hot_frequency_p): Make inline. (maybe_hot_count_p): Break out from ... (maybe_hot_bb_p): ... this one. @@ -1667,8 +2065,10 @@ * config/m68hc11/m68hc11.c (m68hc11_address_cost, m68hc11_rtx_costs): Update. * config/cris/cris.c (cris_rtx_costs, cris_address_cost): Update. - * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost): Update. - * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs): Update + * config/iq2000/iq2000.c (iq2000_rtx_costs, iq2000_address_cost): + Update. + * config/mn10300/mn10300.c (mn10300_address_cost, mn10300_rtx_costs): + Update * config/ia64/ia64.c (ia64_rtx_costs): Update. * config/m68k/m68k.c (m68k_rtx_costs): Update. * config/rs6000/rs6000.c (rs6000_rtx_costs): Update. @@ -1873,10 +2273,10 @@ * dojump.c (do_jump): Likewise. * ifcvt.c (MAX_CONDITIONAL_EXECUTE): Likewise. (note-if_info): Add BRANCH_COST. - (noce_try_store_flag_constants, noce_try_addcc, noce_try_store_flag_mask, - noce_try_cmove_arith, noce_try_cmove_arith, noce_try_cmove_arith, - noce_find_if_block, find_if_case_1, find_if_case_2): Use compuated - branch cost. + (noce_try_store_flag_constants, noce_try_addcc, + noce_try_store_flag_mask, noce_try_cmove_arith, noce_try_cmove_arith, + noce_try_cmove_arith, noce_find_if_block, find_if_case_1, + find_if_case_2): Use computed branch cost. * expr.h (BRANCH_COST): Update default. * predict.c (predictable_edge_p): New function. * expmed.c (expand_smod_pow2, expand_sdiv_pow2, emit_store_flag): @@ -2084,7 +2484,6 @@ 2008-08-29 Vladimir Makarov PR rtl-opt/37251 - * ira-color.c (push_allocnos_to_stack): Truncate removed_splay_allocno_vec. @@ -2186,9 +2585,11 @@ 2008-08-29 Jan Hubicka * loop-unswitch.c (unswitch_single_loop): Use optimize_loop_for_speed_p. - * tree-ssa-threadupdate.c (mark_threaded_blocks): Use optimize_function_for_size_p. + * tree-ssa-threadupdate.c (mark_threaded_blocks): + Use optimize_function_for_size_p. * tracer.c (ignore_bb_p): Use optimize_bb_for_size_p. - * postreload-gcse.c (eliminate_partially_redundant_load): Use optimize_bb_for_size_p. + * postreload-gcse.c (eliminate_partially_redundant_load): + Use optimize_bb_for_size_p. * value-prof.c (gimple_divmod_fixed_value_transform, gimple_mod_pow2_value_transform, gimple_mod_subtract_transform, gimple_stringops_transform): Use optimize_bb_for_size_p. @@ -2199,16 +2600,18 @@ optimize_function_for_size_p. * fold-const.c (tree_swap_operands_p): Use optimize_function_for_size_p. * recog.c (relax_delay_slots): Likewise. - * tree-ssa-math-opts.c (replace_reciprocal): Use optimize_bb_for_speed_p. + * tree-ssa-math-opts.c (replace_reciprocal): + Use optimize_bb_for_speed_p. (execute_cse_reciprocals): Use optimize_bb_for_size_p. * ipa-inline.c (cgraph_decide_recursive_inlining): Use optimize_function_for_size_p. (cgraph_decide_inlining_of_small_function): Use optimize_function_for_size_p. * global.c (find_reg): Use optimize_function_for_size_p. - * opts.c (decode_options): Do not clear flag_tree_ch, flag_inline_functions, - flag_unswitch_loops, flag_unroll_loops, flag_unroll_all_loops and - flag_prefetch_loop_arrays. Those can work it out from profile. + * opts.c (decode_options): Do not clear flag_tree_ch, + flag_inline_functions, flag_unswitch_loops, flag_unroll_loops, + flag_unroll_all_loops and flag_prefetch_loop_arrays. Those can + work it out from profile. * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Use optimize_loop_for_speed_p. * predict.c (optimize_bb_for_size_p, optimize_bb_for_speed_p): Constify @@ -2219,13 +2622,15 @@ * local-alloc.c (block_alloc): Pass BB pointer. (find_free_reg): Add BB pointer, use optimize_bb_for_size_p. * gcse.c (gcse_main): Use optimize_function_for_size_p. - * loop-unroll.c (decide_unrolling_and_peeling): Use optimize_loop_for_size_p. + * loop-unroll.c (decide_unrolling_and_peeling): + Use optimize_loop_for_size_p. (decide_peel_completely): Likewise. * tree-vect-analyze.c (vect_mark_for_runtime_alias_test): Use optimize_loop_for_size_p. (vect_enhance_data_refs_alignment): Likewise. * tree-ssa-coalesce.c (coalesce_cost): Add optimize_for_size argument. - (coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map): Update call. + (coalesce_cost_bb, coalesce_cost_edge, create_outofssa_var_map): + Update call. * cfgcleanup.c (outgoing_edges_match): Use optimize_bb_for_speed_p. (try_crossjump_bb): Use optimize_bb_for_size_p. * tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Use @@ -2260,8 +2665,8 @@ (tree_bb_level_predictions): Do not remove GIMPLE_PREDICT. (tree_estimate_probability): Do not strip builtin_expect. (pass_strip_predict_hints): New pass. - * tree-inline.c (expand_call_inline): When inlining cold function, predict - it as unlikely. + * tree-inline.c (expand_call_inline): When inlining cold function, + predict it as unlikely. * passes.c (init_optimization_passes): Add pass_strip_predict_hints. 2008-08-29 Richard Guenther @@ -2311,8 +2716,7 @@ * config/mips/mips.h (ISA_HAS_DMUL3): New macro. * config/mips/mips.md (D): New mode attribute. (mulsi3, muldi3): Merge it into ... - (mul3): ... new template. Use _mul3 ending for 3-op - patterns. + (mul3): ... new template. Use _mul3 ending for 3-op patterns. (muldi3_mul3): New pattern. (mulsi3_mult3): Rename to mulsi3_mul3. @@ -3217,7 +3621,7 @@ * config/arm/arm1020e.md: Remove out of date duplicate comment. (v10_cvt): Use new fmul types. -2008-08-26 Paul Brook +2008-08-26 Paul Brook * config/arm/vfp.md: Move pipeline description for VFP11 to... * config/arm/vfp11.md: ...here. New. @@ -3605,7 +4009,8 @@ (ipcp_create_replace_map): Reformat. (ipcp_need_redirect_p): Simplify. (ipcp_insert_stage): Check that argument is used before clonning. - * ipa-prop.c (ipa_print_node_jump_functions): Do not handle IPA_CONST_REF. + * ipa-prop.c (ipa_print_node_jump_functions): Do not handle + IPA_CONST_REF. (compute_scalar_jump_functions): Simplify using is_gimple_ip_invariat. (determine_cst_member_ptr): Keep wrapping ADDR_EXPR of members. (update_call_notes_after_inlining): Expect ADDR_EXPR in operand. @@ -3723,8 +4128,7 @@ * c-tree.h (grokfield): New argument. * c-decl.c (grokfield): Handle new location argument. - * c-parser.c (c_parser_struct_declaration): Pass location to - grokfield. + * c-parser.c (c_parser_struct_declaration): Pass location to grokfield. 2008-08-21 Richard Guenther @@ -4309,13 +4713,12 @@ ("type" attribute): Removed itof and added ftrunctf,ftruncdf, ftruncsd, ftruncdd, itoftf, itofdf, itofsf, itofdd, itoftd, fdivdd, fdivtd, floaddd, floadsd, fmuldd, fmultd, fsimpdd, - fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible - values. + fsimpsd, fsimptd, fstoredd, fstoresd, ftoidfp as possible values. ("bfp" mode attribute): Removed. Every occurence replaced with . * config/s390/s390.c (struct "z10_cost"): Updated entries. * config/s390/2084.md (insn_reservation "x_itof"): Updated - type attribute. + type attribute. 2008-08-14 Manuel Lopez-Ibanez @@ -4410,8 +4813,7 @@ handled. -pedantic also enables Wmain. (c_common_post_options): Handle all logic for Wmain here. * c-common.c (warn_main): Delete. - (check_main_parameter_types): Make pedwarns conditional on - OPT_Wmain. + (check_main_parameter_types): Make pedwarns conditional on OPT_Wmain. * c-common.h (warn_main): Delete. 2008-08-13 H.J. Lu @@ -4904,8 +5306,7 @@ * c-typeck.c (digest_init): Call verify_sequence_points from here. (c_finish_return): Likewise. (c_start_case): Likewise. - * c-common.c (warn_for_collisions_1): Use explicit location in - warning. + * c-common.c (warn_for_collisions_1): Use explicit location in warning. * c-parser.c (c_parser_condition): New. Call verify_sequence_points. (c_parser_paren_condition): Call c_parser_condition. @@ -5079,8 +5480,7 @@ 2008-08-07 H.J. Lu PR target/36992 - * config/i386/emmintrin.h (_mm_move_epi64): Use - __builtin_ia32_movq128. + * config/i386/emmintrin.h (_mm_move_epi64): Use __builtin_ia32_movq128. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128. (bdesc_args): Add IX86_BUILTIN_MOVQ128. @@ -5224,8 +5624,7 @@ * config/sh/sh.c (prepare_move_operands, output_far_jump, output_branchy_insn, add_constant, gen_block_redirect, sh_insn_length_adjustment, sh_cannot_change_mode_class, - sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload): - Likewise. + sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * config/stormy16/stormy16.c (xstormy16_output_cbranch_hi, xstormy16_output_cbranch_si, xstormy16_secondary_reload_class,