summaryrefslogtreecommitdiff
path: root/gcc/doc/passes.texi
Commit message (Collapse)AuthorAgeFilesLines
* Remove extra spacing at the end of the line.mrs2011-05-041-8/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173401 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi: Fill crossref nodes.gerald2011-04-181-7/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172672 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2010.jakub2011-01-031-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168438 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-10-04 Yao Qi <yao@codesourcery.com>qiyao2010-10-041-3/+2
| | | | | | | * doc/passes.texi: Clean up. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164929 138bc75d-0d04-0410-961f-82ee72b054a4
* 2009-10-15 Sebastian Pop <sebastian.pop@amd.com>spop2009-11-251-0/+7
| | | | | | * doc/passes.texi: Document the Graphite infrastructure. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154591 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgrtl.c (pass_free_cfg): Add pass name.amylaar2009-11-081-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cgraphbuild.c (pass_build_cgraph_edges): Likewise. (pass_rebuild_cgraph_edges, pass_remove_cgraph_callee_edges): Likewise. * dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Change pass name. * df-core.c (pass_df_initialize_no_opt): Likewise. * except.c (pass_rtl_eh): Likewise. * function.c (pass_init_function, pass_leaf_regs): Likewise. * gcse.c (pass_rtl_pre): Change pass name. * passes.c (pass_postreload): Add pass name. (make_pass_instance): Don't use duplicate-tracking logic for names starting with '*'. (next_pass_1): Assert that pass has a name. (register_one_dump_file): If there is an space in the name, skip past it. * predict.c (pass_strip_predict_hints): Add pass name. * reg-stack.c (pass_stack_regs): Likewise. * stack-ptr-mod.c (pass_stack_ptr_mod): Likewise. * tree-cfg.c (pass_warn_function_return, pass_warn_function_noreturn): Add pass name. * tree-dfa.c (pass_referenced_vars): Likewise. * tree-optimize.c (pass_cleanup_cfg_post_optimizing): Fix whitespace before comment. (pass_fixup_cfg): Add pass name, fix whitespace before comment. (pass_init_datastructures): Add pass name. * tree-ssa-loop.c (pass_record_bounds): Likewise. * tree-ssa.c (pass_early_warn_uninitialized, pass_late_warn_uninitialized): Likewise. * tree.c (pass_ipa_free_lang_data): Likewise. * doc/passes.texi (pass manager): Document how to disambiguate pass names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154013 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi (Tree-SSA passes): Document SLP pass.irar2009-05-241-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-pass.h (pass_slp_vectorize): New pass. * params.h (SLP_MAX_INSNS_IN_BB): Define. * timevar.def (TV_TREE_SLP_VECTORIZATION): Define. * tree-vectorizer.c (timevar.h): Include. (user_vect_verbosity_level): Declare. (vect_location): Fix comment. (vect_set_verbosity_level): Update user_vect_verbosity_level instead of vect_verbosity_level. (vect_set_dump_settings): Add an argument. Ignore user defined verbosity if dump flags require higher level of verbosity. Print to stderr only for loop vectorization. (vectorize_loops): Update call to vect_set_dump_settings. (execute_vect_slp): New function. (gate_vect_slp): Likewise. (struct gimple_opt_pass pass_slp_vectorize): New. * tree-vectorizer.h (struct _bb_vec_info): Define along macros to access its members. (vec_info_for_bb): New function. (struct _stmt_vec_info): Add bb_vinfo and a macro for its access. (VECTORIZATION_ENABLED): New macro. (SLP_ENABLED, SLP_DISABLED): Likewise. (vect_is_simple_use): Add bb_vec_info argument. (new_stmt_vec_info, vect_analyze_data_ref_dependences, vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment, vect_analyze_data_ref_accesses, vect_analyze_data_refs, vect_schedule_slp, vect_analyze_slp): Likewise. (vect_analyze_stmt): Add slp_tree argument. (find_bb_location): Declare. (vect_slp_analyze_bb, vect_slp_transform_bb): Likewise. * tree-vect-loop.c (new_loop_vec_info): Adjust function calls. (vect_analyze_loop_operations, vect_analyze_loop, get_initial_def_for_induction, vect_create_epilog_for_reduction, vect_finalize_reduction, vectorizable_reduction, vectorizable_live_operation, vect_transform_loop): Likewise. * tree-data-ref.c (dr_analyze_innermost): Update comment, skip evolution analysis if analyzing a basic block. (dr_analyze_indices): Likewise. (initialize_data_dependence_relation): Skip the test whether the object is invariant for basic blocks. (compute_all_dependences): Skip dependence analysis for data references in basic blocks. (find_data_references_in_stmt): Don't fail in case of invariant access in basic block. (find_data_references_in_bb): New function. (find_data_references_in_loop): Move code to find_data_references_in_bb and add a call to it. (compute_data_dependences_for_bb): New function. * tree-data-ref.h (compute_data_dependences_for_bb): Declare. * tree-vect-data-refs.c (vect_check_interleaving): Adjust to the case that STEP is 0. (vect_analyze_data_ref_dependence): Check for interleaving in case of unknown dependence in basic block and fail in case of dependence in basic block. (vect_analyze_data_ref_dependences): Add bb_vinfo argument, get data dependence instances from either loop or basic block vectorization info. (vect_compute_data_ref_alignment): Check if it is loop vectorization before calling nested_in_vect_loop_p. (vect_compute_data_refs_alignment): Add bb_vinfo argument, get data dependence instances from either loop or basic block vectorization info. (vect_verify_datarefs_alignment): Likewise. (vect_enhance_data_refs_alignment): Adjust function calls. (vect_analyze_data_refs_alignment): Likewise. (vect_analyze_group_access): Fix printing. Skip different checks if DR_STEP is 0. Keep strided stores either in loop or basic block vectorization data structure. Fix indentation. (vect_analyze_data_ref_access): Fix comments, allow zero step in basic blocks. (vect_analyze_data_ref_accesses): Add bb_vinfo argument, get data dependence instances from either loop or basic block vectorization info. (vect_analyze_data_refs): Update comment. Call compute_data_dependences_for_bb to analyze basic blocks. (vect_create_addr_base_for_vector_ref): Check for outer loop only in case of loop vectorization. In case of basic block vectorization use data-ref itself as a base. (vect_create_data_ref_ptr): In case of basic block vectorization: don't advance the pointer, add new statements before the current statement. Adjust function calls. (vect_supportable_dr_alignment): Support only aligned accesses in basic block vectorization. * common.opt (ftree-slp-vectorize): New flag. * tree-vect-patterns.c (widened_name_p): Adjust function calls. (vect_pattern_recog_1): Likewise. * tree-vect-stmts.c (process_use): Likewise. (vect_init_vector): Add new statements in the beginning of the basic block in case of basic block SLP. (vect_get_vec_def_for_operand): Adjust function calls. (vect_finish_stmt_generation): Likewise. (vectorizable_call): Add assert that it is loop vectorization, adjust function calls. (vectorizable_conversion, vectorizable_assignment): Likewise. (vectorizable_operation): In case of basic block SLP, take vectorization factor from statement's type and skip the relevance check. Adjust function calls. (vectorizable_type_demotion): Add assert that it is loop vectorization, adjust function calls. (vectorizable_type_promotion): Likewise. (vectorizable_store): Check for outer loop only in case of loop vectorization. Adjust function calls. For basic blocks, skip the relevance check and don't advance pointers. (vectorizable_load): Likewise. (vectorizable_condition): Add assert that it is loop vectorization, adjust function calls. (vect_analyze_stmt): Add argument. In case of basic block SLP, check that it is not reduction, get vector type, call only supported functions, skip loop specific parts. (vect_transform_stmt): Check for outer loop only in case of loop vectorization. (new_stmt_vec_info): Add new argument and initialize bb_vinfo. (vect_is_simple_use): Fix comment, add new argument, fix conditions for external definition. * passes.c (pass_slp_vectorize): New pass. * tree-vect-slp.c (find_bb_location): New function. (vect_get_and_check_slp_defs): Add argument, adjust function calls, check for patterns only in loops. (vect_build_slp_tree): Add argument, adjust function calls, fail in case of multiple types in basic block SLP. (vect_mark_slp_stmts_relevant): New function. (vect_supported_load_permutation_p): Fix comment. (vect_analyze_slp_instance): Add argument. In case of basic block SLP, take vectorization factor from statement's type, check that unrolling factor is 1. Adjust function call. Save SLP instance in either loop or basic block vectorization structure. Return FALSE, if SLP failed. (vect_analyze_slp): Add argument. Get strided stores groups from either loop or basic block vectorization structure. Return FALSE if basic block SLP failed. (new_bb_vec_info): New function. (destroy_bb_vec_info, vect_slp_analyze_node_operations, vect_slp_analyze_operations, vect_slp_analyze_bb): Likewise. (vect_schedule_slp): Add argument. Get SLP instances from either loop or basic block vectorization structure. Set vectorization factor to be 1 for basic block SLP. (vect_slp_transform_bb): New function. * params.def (PARAM_SLP_MAX_INSNS_IN_BB): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147829 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.ebotcazou2009-05-231-44/+36
| | | | | | | | | Remove outdated reference to flow.c and fix nits. * doc/gccint.texi: Tweak RTL description. * doc/rtl.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147821 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/rwild2009-04-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/c-tree.texi (Types, Functions, Expression trees): Fix grammar nits. * doc/cfg.texi (Maintaining the CFG, Liveness information): Likewise. * doc/cpp.texi (Standard Predefined Macros) (Implementation-defined behavior): Likewise. * doc/extend.texi (Function Attributes, Type Attributes): Likewise. * doc/gimple.texi (GIMPLE Exception Handling) (@code{GIMPLE_ASSIGN}): Likewise. * doc/install.texi (Prerequisites, Configuration, Specific): Likewise. * doc/invoke.texi (Warning Options, Optimize Options) (AVR Options, Darwin Options): Likewise. (Optimize Options): Reformulate -fwhole-program description. * doc/loop.texi (Lambda): Likewise. * doc/md.texi (Output Template, Define Constraints) (Standard Names, Insn Splitting): Likewise. * doc/options.texi (Option properties): Likewise. * doc/passes.texi (Tree-SSA passes): Likewise. * doc/rtl.texi (Side Effects, Assembler, Insns): Likewise. * doc/tm.texi (Register Classes, Old Constraints, Scalar Return) (File Names and DBX): Likewise. * doc/trouble.texi (Incompatibilities): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146854 138bc75d-0d04-0410-961f-82ee72b054a4
* Update Copyright years for files modified in 2008 and/or 2009.jakub2009-02-201-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144324 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-01-29 Vladimir Makarov <vmakarov@redhat.com>vmakarov2009-01-291-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description. * doc/passes.texi: Remove entries about regclass, local-alloc, and global. Modify entries about regmove and IRA. * ra-conflict.c: Remove the file. * reload.c (push_reload, find_dummy_reload): Remove flag_ira. * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove. (pass_regclass_init): Rename to pass_reginfo_init. * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira. * toplev.h (flag_ira): Remove. * caller-save.c (setup_save_areas): Remove flag_ira. * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto. * global.c: Remove the file. * opts.c: (decode_options): Remove flag_ira. * hard-reg-set.h (losing_caller_save_reg_set): Remove. * regmove.c: Modify file description. (find_use_as_address, try_auto_increment): Define them only if AUTO_INC_DEC is defined. (replacement_quality, replace_in_call_usage, fixup_match_1, stable_and_no_regs_but_for_p): Remove. (reg_set_in_bb): Make it static. (regmove_optimize): Remove flag_ira and code which worked for !flag_ira. * local-alloc.c: Remove the file. * common.opt (fira): Remove. * ira.c: Include except.h. (eliminable_regset): Move from global.c. (mark_elimination): Ditto. Remove flag_ira. (reg_renumber, struct equivalence, reg_equiv, equiv_mem, equiv_mem_modified, validate_equiv_mem_from_store, validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p, contains_replace_regs, memref_referenced_p, memref_used_between_p, no_equiv, recorded_label_ref): Move from local-alloc.c. (update_equiv_regs): Ditto. Make it static. (print_insn_chain, print_insn_chains): Move it from global.c. pseudo_for_reload_consideration_p): Ditto. Remove flag_ira. (build_insn_chain): Ditto. Make it static. (ra_init_live_subregs): Move from ra-conflict.c. Make it static. Rename to init_live_subregs. (gate_ira): Remove flag_ira. * regclass.c: Rename reginfo.c. Change file description. (FORBIDDEN_INC_DEC_CLASSES): Remove. (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove. (init_reg_sets_1): Remove code for evaluation of reg_class_superclasses and losing_caller_save_reg_set. (init_regs): Remove init_reg_autoinc. (struct costs, costs, init_cost, ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): Remove. (regclass_init): Rename to reginfo_init. Don't initialize init_cost. (pass_regclass_init): Rename to pass_reginfo_init. Modify corresponding entries. (dump_regclass, record_operand_costs, scan_one_insn, init_reg_autoinc, regclass, record_reg_classes, copy_cost, record_address_regs, auto_inc_dec_reg_p): Remove. (gt-regclass.h): Rename to gt-reginfo.h. * rtl.h (dump_global_regs, retry_global_alloc, build_insn_chain, dump_local_alloc, update_equiv_regs): Remove. * Makefile.in (RA_H): Remove. (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o. Rename regclass.o to reginfo.o. (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to gt-reginfo.h. (global.o, local-alloc.o, ra-conflict.o): Remove entries. (GTFILES): Rename regclass.c to reginfo.c. * passes.c (init_optimization_passes): Remove pass_local_alloc and pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init. * reload1.c (compute_use_by_pseudos, reload, count_pseudo, count_spilled_pseudo, find_reg, alter_reg, delete_output_reload): Remove flag_ira. (finish_spills): Ditto. Remove code for !flga_ira. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@143757 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-26 Vladimir Makarov <vmakarov@redhat.com>vmakarov2008-08-261-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ira-build.c, ira-color.c, ira-costs.c, ira.h, ira-lives.c, ira.c, ira-conflicts.c, ira-emit.c, ira-int.h: New files. * doc/passes.texi: Describe IRA. * doc/tm.texi (IRA_COVER_CLASSES, IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Describe the new macros. * doc/invoke.texi (ira-max-loops-num): Describe the new parameter. (-fira, -fira-algorithm, -fira-coalesce, -fno-ira-move-spills, -fira-propagate-cost, -fno-ira-share-save-slots, -fno-ira-share-spill-slots, -fira-verbose): Describe new options. * flags.h (ira_algorithm): New enumeration. (flag_ira_algorithm, flag_ira_verbose): New external variable declarations. * postreload.c (gate_handle_postreload): Don't do post reload optimizations unless the reload is completed. * reload.c (push_reload, find_dummy_reload): Use DF_LR_OUT for IRA. * tree-pass.h (pass_ira): New external variable declaration. * reload.h: Add 2008 to the Copyright. * cfgloopanal.c: Include params.h. (estimate_reg_pressure_cost): Decrease cost for IRA optimization mode. * params.h (IRA_MAX_LOOPS_NUM): New macro. * toplev.c (ira.h): New include. (flag_ira_algorithm, flag_ira_verbose): New external variables. (backend_init_target): Call ira_init. (backend_init): Call ira_init_once. (finalize): Call finish_ira_once. * toplev.h (flag_ira, flag_ira_coalesce, flag_ira_move_spills, flag_ira_share_save_slots, flag_ira_share_spill_slots): New external variables. * regs.h (contains_reg_of_mode, move_cost, may_move_in_cost, may_move_out_cost): New external variable declarations. (move_table): New typedef. * caller-save.c: Include headers output.h and ira.h. (no_caller_save_reg_set): New global variable. (save_slots_num, save_slots): New variables. (reg_save_code, reg_restore_code, add_stored_regs): Add prototypes. (init_caller_save): Set up no_caller_save_reg_set. (init_save_areas): Reset save_slots_num. (saved_hard_reg): New structure. (hard_reg_map, saved_regs_num, all_saved_regs): New variables. (initiate_saved_hard_regs, new_saved_hard_reg, finish_saved_hard_regs, saved_hard_reg_compare_func): New functions. (setup_save_areas): Add code for sharing stack slots. (all_blocks): New variable. (save_call_clobbered_regs): Process pseudo-register too. (mark_set_regs): Process pseudo-register too. (insert_one_insn): Put the insn after bb note in a empty basic block. Add insn check. * global.c (eliminable_regset): Make it external. (mark_elimination): Use DF_LR_IN for IRA. (pseudo_for_reload_consideration_p): New. (build_insn_chain): Make it external. Don't ignore spilled pseudos for IRA. Use pseudo_for_reload_consideration_p. (gate_handle_global_alloc): New function. (pass_global_alloc): Add the gate function. * opts.c (decode_options): Set up flag_ira. Print the warning for -fira. (common_handle_option): Process -fira-algorithm and -fira-verbose. * timevar.def (TV_IRA, TV_RELOAD): New passes. * regmove.c (regmove_optimize): Don't do replacement of output for IRA. * hard-reg-set.h (no_caller_save_reg_set, reg_class_subclasses): New external variable declarations. * local-alloc.c (update_equiv_regs): Make it external. Return true if jump label rebuilding should be done. Rescan new_insn for notes. (gate_handle_local_alloc): New function. (pass_local_alloc): Add the gate function. * alias.c (value_addr_p, stack_addr_p): New functions. (nonoverlapping_memrefs_p): Use them for IRA. * common.opt (fira, fira-algorithm, fira-coalesce, fira-move-spills, fira-share-save-slots, fira-share-spill-slots, fira-verbose): New options. * regclass.c (reg_class_subclasses, contains_reg_of_mode, move_cost, may_move_in_cost, may_move_out_cost): Make the variables external. (move_table): Remove typedef. (init_move_cost): Make it external. (allocate_reg_info, resize_reg_info, setup_reg_classes): New functions. * rtl.h (init_move_cost, allocate_reg_info, resize_reg_info, setup_reg_classes): New function prototypes. (eliminable_regset): New external variable declaration. (build_insn_chain, update_equiv_regs): New function prototypes. * Makefile.in (IRA_INT_H): New definition. (OBJS-common): Add ira.o, ira-build.o, ira-costs.o, ira-conflicts.o, ira-color.o, ira-emit.o, and ira-lives.o. (reload1.o, toplev.o): Add dependence on ira.h. (cfgloopanal.o): Add PARAMS_H. (caller-save.o): Add dependence on output.h and ira.h. (ira.o, ira-build.o, ira-costs.o, ira-conflicts.o, ira-color.o, ira-emit.o, ira-lives.o): New entries. * passes.c (pass_ira): New pass. * params.def (PARAM_IRA_MAX_LOOPS_NUM): New parameter. * reload1.c (ira.h): Include the header. (changed_allocation_pseudos): New bitmap. (init_reload): Initiate the bitmap. (compute_use_by_pseudos): Permits spilled registers in FROM. (temp_pseudo_reg_arr): New variable. (reload): Allocate and free temp_pseudo_reg_arr. Sort pseudos for IRA. Call alter_reg with the additional parameter. Don't clear spilled_pseudos for IRA. Restore original insn chain for IRA. Clear changed_allocation_pseudos at the end of reload. (calculate_needs_all_insns): Call IRA's mark_memory_move_deletion. (hard_regno_to_pseudo_regno): New variable. (count_pseudo): Check spilled pseudos. Set up hard_regno_to_pseudo_regno. (count_spilled_pseudo): Check spilled pseudos. Update hard_regno_to_pseudo_regno. (find_reg): Use better_spill_reload_regno_p. Check hard_regno_to_pseudo_regno. (alter_reg): Set up spilled_pseudos. Add a new parameter. Add code for IRA. (eliminate_regs_1): Use additional parameter for alter_reg. (finish_spills): Set up pseudo_previous_regs only for spilled pseudos. Call reassign_pseudos once for all spilled pseudos, pass more arguments. Don't clear live_throughout and dead_or_set for spilled pseudos. Use additional parameter for alter_reg. Call mark_allocation_change. Set up changed_allocation_pseudos. Remove sanity check. (emit_input_reload_insns, delete_output_reload): Use additional parameter for alter_reg. Call mark_allocation_change. (substitute, gen_reload_chain_without_interm_reg_p): New functions. (reloads_conflict): Use gen_reload_chain_without_interm_reg_p. * testsuite/gcc.dg/20080410-1.c: New file. * config/s390/s390.h (IRA_COVER_CLASSES, IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Define. * config/sparc/sparc.h (IRA_COVER_CLASSES): New macro. * config/i386/i386.h (IRA_COVER_CLASSES): Ditto. * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto. * config/rs6000/rs6000.h (IRA_COVER_CLASSES): Ditto. * config/arm/arm.h (IRA_COVER_CLASSES): Ditto. * config/alpha/alpha.h (IRA_COVER_CLASSES): Ditto. 2008-08-24 Jeff Law <law@redhat.com> * ira.c (setup_reg_class_intersect_union): Prefer smallest class when ignoring unavailable registers. 2008-08-24 Jeff Law <law@redhat.com> * ira-color.c (coalesced_pseudo_reg_slot_compare): Check FRAME_GROWS_DOWNWARD and STACK_GROWS_DOWNWARD. * ira.c (setup_eliminable_regset): Check stack_realign_needed. * config/mn10300/mn10300.h (IRA_COVER_CLASSES): New macro. 2008-06-03 Steve Chamberlain <steve.chamberlain@gmail.com> * ira-build.c (allocno_range_compare_func): Stabilize sort. 2008-05-29 Andy Hutchinson <hutchinsonandy@aim.com> * config/avr/avr.h (IRA_COVER_CLASSES): New macro. * reload1.c (find_reg): Process registers in register allocation order. 2008-05-10 Richard Sandiford <rsandifo@nildram.co.uk> * toplev.c (backend_init_target): Move ira_init call from here... (lang_dependent_init_target): ...to here. 2008-05-10 Richard Sandiford <rsandifo@nildram.co.uk> * ira.c (setup_class_subset_and_memory_move_costs): Don't calculate memory move costs for NO_REGS. 2008-05-05 Kaz Kojima <kkojima@gcc.gnu.org> * ira-color.c (ira_fast_allocation): Use no_stack_reg_p only if STACK_REGS is defined. 2008-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com> * config/spu/spu.h (IRA_COVER_CLASSES): New macro. 2008-04-04 Bernd Schmidt <bernd.schmidt@analog.com> * config/bfin/bfin.h (IRA_COVER_CLASSES): New macro. 2008-04-04 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/sh.h (IRA_COVER_CLASSES): Define. * config/sh/sh.md (movsicc_true+3): Check if emit returns a barrier. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139590 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-08-01 Basile Starynkevitch <basile@starynkevitch>bstarynk2008-08-011-0/+4
| | | | | | | | | | | | | * gcc/tree-pass.h: Added comment about not dumping passes with name starting with star in struct opt_pass. * gcc/passes.c (register_dump_files_1): Don't do dump for a pass with name starting with star. * gcc/doc/passes.texi (Pass manager): Mention pass names and special meaning of star prefix to avoid dump. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138450 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-07-31 Richard Guenther <rguenther@suse.de>rguenth2008-07-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * passes.c (init_optimization_passes): Always call pass_early_warn_uninitialized. * opts.c (decode_options): Do not warn about -Wuninitialized at -O0. * doc/invoke.texi (-Wuninitialized): Correct for enabling at -O0. * doc/passes.texi (Warn for uninitialized variables): Adjust. * gcc.dg/uninit-1-O0.c: New testcase. * gcc.dg/uninit-2-O0.c: Likewise. * gcc.dg/uninit-3-O0.c: Likewise. * gcc.dg/uninit-4-O0.c: Likewise. * gcc.dg/uninit-5-O0.c: Likewise. * gcc.dg/uninit-6-O0.c: Likewise. * gcc.dg/uninit-8-O0.c: Likewise. * gcc.dg/uninit-9-O0.c: Likewise. * gcc.dg/uninit-A-O0.c: Likewise. * gcc.dg/uninit-B-O0.c: Likewise. * gcc.dg/uninit-C-O0.c: Likewise. * gcc.dg/uninit-D-O0.c: Likewise. * gcc.dg/uninit-E-O0.c: Likewise. * gcc.dg/uninit-F-O0.c: Likewise. * gcc.dg/uninit-G-O0.c: Likewise. * gcc.dg/uninit-H-O0.c: Likewise. * gcc.dg/uninit-I-O0.c: Likewise. * gcc.dg/uninit-10-O0.c: Likewise. * gcc.dg/uninit-11-O0.c: Likewise. * gcc.dg/uninit-12-O0.c: Likewise. * gcc.dg/uninit-13-O0.c: Likewise. * gcc.dg/uninit-14-O0.c: Likewise. * gcc.dg/uninit-15-O0.c: Likewise. * gcc.dg/Wall.c: Avoid uninitialized warning. * gcc.dg/Wno-all.c: Likewise. * gcc.dg/pr3074-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@138376 138bc75d-0d04-0410-961f-82ee72b054a4
* libgomp/rwild2008-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libgomp.texi (omp_test_lock): Fix typo. gcc/ * doc/sourcebuild.texi (Config Fragments): Remove obsolete FIXME note about gcc/config.guess. * doc/options.texi (Option file format): Remove non-ASCII bytes. * doc/cpp.texi: Expand TABs, drop indentation outside examples. * doc/cppopts.texi: Likewise. * doc/extend.texi: Likewise. * doc/gcc.texi: Likewise. * doc/gccint.texi: Likewise. * doc/gcov.texi: Likewise. * doc/gty.texi: Likewise. * doc/hostconfig.texi: Likewise. * doc/install.texi: Likewise. * doc/invoke.texi: Likewise. * doc/loop.texi: Likewise. * doc/makefile.texi: Likewise. * doc/md.texi: Likewise. * doc/passes.texi: Likewise. * doc/tm.texi: Likewise. * doc/tree-ssa.texi: Likewise. * doc/trouble.texi: Likewise. libiberty/ * libiberty.texi: Expand TABs, drop indentation outside examples. * obstacks.texi: Likewise. gcc/fortran/ * gfc-internals.texi: Expand TABs, drop indentation outside examples. * gfortran.texi: Likewise. * intrinsic.texi: Likewise. * invoke.texi: Likewise. gcc/java/ * gcj.texi: Expand TABs, remove whitespace from blank lines. gcc/ada/ * gnat_rm.texi (Implementation Defined Characteristics) (Standard Library Routines): Use @smallexample for indented text. Drop Indentation outside examples. * gnat_ugn.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136802 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi: Use @dots{} and @enddots{} where appropriate.rwild2008-02-171-1/+1
| | | | | | | | | | | | | | | | | * doc/cfg.texi: Likewise. * doc/extend.texi: Likewise. * doc/gty.texi: Likewise. * doc/invoke.texi: Likewise. * doc/loop.texi: Likewise. * doc/md.texi: Likewise. * doc/passes.texi: Likewise. * doc/rtl.texi: Likewise. * doc/sourcebuild.texi: Likewise. * doc/tm.texi: Likewise. * doc/tree-ssa.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132381 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi: Use `@.' where appropriate.rwild2008-02-161-1/+1
| | | | | | | | | | | | | | | * doc/extend.texi: Likewise. * doc/install.texi: Likewise. * doc/invoke.texi: Likewise. * doc/loop.texi: Likewise. * doc/makefile.texi: Likewise. * doc/md.texi: Likewise. * doc/passes.texi: Likewise. * doc/standards.texi: Likewise. * doc/tm.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132361 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/bugreport.texi: Update copyright years.rwild2008-02-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/c-tree.texi: Likewise. * doc/cfg.texi: Likewise. * doc/cpp.texi: Likewise. * doc/cppinternals.texi: Likewise. * doc/fragments.texi: Likewise. * doc/frontends.texi: Likewise. * doc/gcc.texi: Likewise. * doc/gty.texi: Likewise. * doc/hostconfig.texi: Likewise. * doc/implement-c.texi: Likewise. * doc/libgcc.texi: Likewise. * doc/loop.texi: Likewise. * doc/makefile.texi: Likewise. * doc/options.texi: Likewise. * doc/passes.texi: Likewise. * doc/rtl.texi: Likewise. * doc/sourcebuild.texi: Likewise. * doc/standards.texi: Likewise. * doc/tree-ssa.texi: Likewise. * doc/trouble.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132313 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/29972gerald2008-02-041-1/+1
| | | | | | | | | | * doc/invoke.texi (C++ Dialect Options, Optimize Options) (HPPA Options, i386 and x86-64 Options, IA-64 Options) (RS/6000 and PowerPC Options): Fix typos and markup. * doc/passes.texi (Tree-SSA passes): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132087 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi (Types): Fix grammar.gerald2008-01-311-2/+2
| | | | | | | | | | | | | | (Expression trees): Ditto. * doc/passes.texi (Tree-SSA passes): Ditto. * doc/configterms.texi (Configure Terms): Fix typo. * doc/cpp.texi (Common Predefined Macros): Ditto. * doc/md.texi (Machine Constraints): Ditto. * doc/makefile.texi (Makefile): Add comma. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131987 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-parloops.c: New file.rakdver2007-09-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-ssa-operands.h (free_stmt_operands): Declare. * tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic block. * tree-pass.h (pass_parallelize_loops): Declare. * omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for virtual operands. (build_omp_regions_1): Allow analysing just a single OMP region and its subregions. ( build_omp_regions_root, omp_expand_local): New functions. (build_omp_regions): Add argument to build_omp_regions_1 call. * builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when autoparallelization is run. * timevar.def (TV_TREE_PARALLELIZE_LOOPS): New. * tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops, pass_parallelize_loops): New. * common.opt (ftree-parallelize-loops): New. * tree-flow.h (omp_expand_local, tree_duplicate_sese_tail, parallelize_loops): Declare. (add_phi_args_after_copy, split_loop_exit_edge): Declaration changed. * Makefile.in (tree-parloops.o): Added. * tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail): New functions. (add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge. (add_phi_args_after_copy): Call add_phi_args_after_copy_edge for one extra edge as well. (tree_duplicate_sese_region): Add argument to add_phi_args_after_copy. Use VEC_free to free doms vector. (move_block_to_fn): Update loop info. Remove phi nodes for virtual operands. Recompute operand caches in the new function. (move_sese_region_to_fn): Update loop info. * passes.c (init_optimization_passes): Add pass_parallelize_loops. * tree-ssa-operands.c (free_stmt_operands): New function. * doc/passes.texi: Document autoparallelization. * doc/invoke.texi (-ftree-parallelize-loops): New option. * gcc.dg/tree-ssa/parallelization-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128517 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi: Document predictive commoning.rakdver2007-05-241-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/invoke.texi (-fpredictive-commoning): Document. * opts.c (decode_options): Enable flag_predictive_commoning on -O3. * tree-ssa-loop-im.c (get_lsm_tmp_name): Export. Allow adding indices to the generated name. (schedule_sm): Pass 0 to get_lsm_tmp_name. * tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Export. * tree-pretty-print.c (op_symbol_1): Renamed to ... (op_symbol_code): ... and exported. (dump_omp_clause, op_symbol): Use op_symbol_code instead of op_symbol_1. * tree-pass.h (pass_predcom): Declare. * timevar.def (TV_PREDCOM): New timevar. * tree-ssa-loop.c (run_tree_predictive_commoning, gate_tree_predictive_commoning, pass_predcom): New. * tree-data-ref.c (find_data_references_in_loop): Find the references in dominance order. (canonicalize_base_object_address): Ensure that the result has pointer type. (dr_analyze_innermost): Export. (create_data_ref): Code to fail for references with invariant address moved ... (find_data_references_in_stmt): ... here. * tree-data-ref.h (dr_analyze_innermost): Declare. * tree-affine.c: Include tree-gimple.h and hashtab.h. (aff_combination_find_elt, name_expansion_hash, name_expansion_eq, tree_to_aff_combination_expand, double_int_constant_multiple_p, aff_combination_constant_multiple_p): New functions. * tree-affine.h (aff_combination_constant_multiple_p, tree_to_aff_combination_expand): Declare. * tree-predcom.c: New file. * common.opt (fpredictive-commoning): New option. * tree-flow.h (op_symbol_code, tree_predictive_commoning, stmt_dominates_stmt_p, get_lsm_tmp_name): Declare. * Makefile.in (tree-predcom.o): Add. (tree-affine.o): Add TREE_GIMPLE_H dependency. * passes.c (init_optimization_passes): Add dceloop after copy propagation in loop optimizer. Add predictive commoning to loop optimizer passes. * gcc.dg/tree-ssa/predcom-1.c: New test. * gcc.dg/tree-ssa/predcom-2.c: New test. * gcc.dg/tree-ssa/predcom-3.c: New test. * gcc.dg/tree-ssa/predcom-4.c: New test. * gcc.dg/tree-ssa/predcom-5.c: New test. * gcc.dg/vect/dump-tree-dceloop-pr26359.c: Test dceloop2 dumps. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125030 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/invoke.texi: Fix cpp.info cross-reference.brooks2007-03-121-1/+1
| | | | | | | * doc/passes.texi: Fix gcc.info cross-reference. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122869 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/sourcebuild.texi: Add comma for clarity.gerald2007-01-271-2/+2
| | | | | | | | | | | * doc/extend.texi: Fix some typos. * doc/passes.texi: Likewise. * doc/cppinternals.texi: Likewise. * doc/c-tree.texi: Likewise. * doc/tree-ssa.texi: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121241 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-12-12 Marcin Dalecki <martin@dalecki.de>dalecki2006-12-121-8/+0
| | | | | | | | | * doc/passes.texi: remove docs about "redundant PHI removal". * tree-pass.h: remove orphaned declaration of pass_redundant_phi. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@119794 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-11-03 Paolo Bonzini <bonzini@gnu.org>bonzini2006-11-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Steven Bosscher <stevenb.gcc@gmail.com> * fwprop.c: New file. * Makefile.in: Add fwprop.o. * tree-pass.h (pass_rtl_fwprop, pass_rtl_fwprop_with_addr): New. * passes.c (init_optimization_passes): Schedule forward propagation. * rtlanal.c (loc_mentioned_in_p): Support NULL value of the second parameter. * timevar.def (TV_FWPROP): New. * common.opt (-fforward-propagate): New. * opts.c (decode_options): Enable forward propagation at -O2. * gcse.c (one_cprop_pass): Do not run local cprop unless touching jumps. * cse.c (fold_rtx_subreg, fold_rtx_mem, fold_rtx_mem_1, find_best_addr, canon_for_address, table_size): Remove. (new_basic_block, insert, remove_from_table): Remove references to table_size. (fold_rtx): Process SUBREGs and MEMs with equiv_constant, make simplification loop more straightforward by not calling fold_rtx recursively. (equiv_constant): Move here a small part of fold_rtx_subreg, do not call fold_rtx. Call avoid_constant_pool_reference to process MEMs. * recog.c (canonicalize_change_group): New. * recog.h (canonicalize_change_group): New. * doc/invoke.texi (Optimization Options): Document fwprop. * doc/passes.texi (RTL passes): Document fwprop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118475 138bc75d-0d04-0410-961f-82ee72b054a4
* PR 26242dnovillo2006-05-291-15/+135
| | | | | | | | | | | | | * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta, pass_fre, pass_store_ccp, pass_copy_prop, pass_store_copy_prop, pass_merge_phi, pass_nrv, pass_return_slot, pass_object_size, pass_lim, pass_linear_transform, pass_empty_loop, pass_complete_unroll, pass_loop_prefetch and pass_stdarg. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114200 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.c, config/arm/arm.c, config/i386/cygwin.h,kazu2006-04-081-1/+1
| | | | | | | | | | | | | | | | config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h, config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c, haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h, sched-rgn.c, tree-inline.h, tree-ssa-dom.c, tree-ssa-loop-prefetch.c, tree-ssa-operands.c, tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow spelling convensions. * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi, doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment typos. Follow spelling conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112782 138bc75d-0d04-0410-961f-82ee72b054a4
* PR gomp/26238aldyh2006-03-071-0/+19
| | | | | | | | * doc/passes.texi (Tree-SSA passes): Document omp lowering and expansion. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111818 138bc75d-0d04-0410-961f-82ee72b054a4
* * opts.c (decode_options): Do not handle flag_strength_reduce.rakdver2006-02-271-14/+9
| | | | | | | | | | | | | | | | | | | | | | | (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. * gcc.target/i386/20000614-2.c: Do not use -fno-strength-reduce. * gcc.dg/20030324-1.c: Do not use -fstrength-reduce. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111469 138bc75d-0d04-0410-961f-82ee72b054a4
* * lcm.c: Move all mode-switching related functions from here...steven2005-06-041-1/+2
| | | | | | | | | | | | | | | * mode-switching.c: ...to this new file. * doc/passes.texi: Update accordingly. * basic-block.h (label_value_list): Remove extern decl. * cfgrtl.c (label_value_list): Remove. (can_delete_label_p): Don't look at it. * cfgcleanup.c (cleanup_cfg): Don't free it. * common.opt: Don't refer to non-existing flag_alias_check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100591 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:bonzini2005-05-171-1/+7
| | | | | | | | | | | | | | | | | | | | | 2005-05-17 Paolo Bonzini <bonzini@gnu.org> * Makefile.in: Add tree-ssa-math-opts.c. * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b). * fold-const.c (distribute_real_division): New. (fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it. * tree-pass.h (pass_cse_reciprocals): New. * tree-optimize.c (init_tree_optimization_passes): Run it. * tree-ssa-math-opts.c: New file. * doc/passes.texi: Document the new pass. gcc/testsuite: 2005-05-17 Paolo Bonzini <bonzini@gnu.org> * gcc.dg/fold-div-1.c, gcc.dg/recip-1.c, gcc.dg/recip-2.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99826 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-flow-inline.h, tree-ssa-operands.c,kazu2005-05-041-1/+1
| | | | | | | | | tree-ssa-operands.h, tree-ssa-opfinalize.h: Likewise. tree-vn.c: Fix comment typos. * doc/passes.texi, doc/tree-ssa.texi: Fix typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99220 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi: Document vectorization pass.dorit2005-05-021-0/+13
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99094 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-01 Daniel Berlin <dberlin@dberlin.org>dberlin2005-03-011-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (tree-ssa-sink.o): New. (OBJS-common): Add tree-ssa-sink.o. * common.opt: Add -ftree-sink * opts.c (decode_options): flag_tree_sink is set at O1 or higher. * timevar.def (TV_TREE_SINK): new timevar. * tree-flow.h (is_hidden_global_store): Prototype. * tree-optimize.c (init_tree_optimization_passes): Add pass_sink_code. * tree-pass.h (pass_sink_code): New. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking for non-obvious global store store to is_hidden_global_store, and call that new function. * tree-ssa-sink.c: New file. * doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink. * doc/passes.texi: Document forward store motion. * testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test * testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test * testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test * testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95750 138bc75d-0d04-0410-961f-82ee72b054a4
* * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,kazu2005-01-301-1/+1
| | | | | | | | doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/tm.texi, doc/tree-ssa.texi: Update copyright. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94441 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-01-19 Paolo Bonzini <bonzini@gnu.org>bonzini2005-01-191-7/+0
| | | | | | | * doc/passes.texi: Remove paragraph mentioning new-ra. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93896 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi (Pass Manager): Correct list of source files.gerald2004-12-121-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92066 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi, doc/cfg.texi, doc/contrib.texi, doc/cpp.texi,jsm282004-11-051-9/+9
| | | | | | | | | | | | | | | doc/cppopts.texi, doc/extend.texi, doc/fragments.texi, doc/frontends.texi, doc/gcov.texi, doc/hostconfig.texi, doc/implement-c.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/passes.texi, doc/portability.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, doc/tree-ssa.texi, doc/trouble.texi: Correct end-of-sentence markup and markup of "etc.", "e.g." and "i.e.". Use @code in various places where appropriate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90101 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi, doc/cfg.texi, doc/extend.texi, doc/gty.texi,jsm282004-11-051-31/+31
| | | | | | | | | doc/install.texi, doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/rtl.texi, doc/tm.texi, doc/tree-ssa.texi: Remove trailing whitespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90100 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/contrib.texi, doc/cpp.texi, doc/cppopts.texi,jsm282004-10-281-1/+1
| | | | | | | | | doc/extend.texi, doc/gcov.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/passes.texi, doc/sourcebuild.texi, doc/tm.texi: Improve Texinfo formatting. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89725 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/c-tree.texi, doc/cpp.texi, doc/implement-c.texi,jsm282004-10-281-2/+2
| | | | | | | | doc/invoke.texi, doc/md.texi, doc/passes.texi, doc/tm.texi: Put punctuation outside quotes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89724 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/passes.texi: Fix a typo.kazu2004-09-251-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88100 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfgloop.h (update_single_exits_after_duplication): Declare.rakdver2004-09-231-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (loopify, split_loop_bb): Declaration changed. * cfgloopmanip.c (split_loop_bb): Take void * as an argument instead of rtx. (loopify): Added redirect_all_edges argument. (update_single_exits_after_duplication): Export. * loop-unswitch.c (unswitch_loop): Changed due to loopify change. * tree-flow.h (tree_duplicate_loop_to_header_edge, tree_ssa_loop_version): Declare. * tree-ssa-loop-manip.c (copy_phi_node_args, rename_variables, set_phi_def_stmts, tree_duplicate_loop_to_header_edge, lv_adjust_loop_header_phi, lv_adjust_loop_entry_edge, lv_update_pending_stmts, tree_ssa_loop_version): New functions. * tree-ssa-loop-unswitch.c: New file. * Makefile.in (tree-ssa-loop-unswitch.o): Add. * timevar.def (TV_TREE_LOOP_UNSWITCH): New timevar. * tree-flow.h (tree_ssa_unswitch_loops): Declare. * tree-optimize.c (init_tree_optimization_passes): Add pass_unswitch. * tree-pass.h (pass_unswitch): Declare. * tree-ssa-loop.c (tree_ssa_loop_unswitch, gate_tree_ssa_loop_unswitch, pass_unswitch): New pass. * doc/passes.texi: Documen tree level loop unswitching. * gcc.dg/tree-ssa/loop-6.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87943 138bc75d-0d04-0410-961f-82ee72b054a4
* * unroll.c: Removed.rakdver2004-09-141-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * loop.h: Removed. * Makefile.in (LOOP_H, unroll.o): Removed. (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H dependency. * alias.c (init_alias_analysis): Remove flag_old_unroll_loops reference. * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h. * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed. * loop.c: Do not include loop.h. (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID, REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction, struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO, REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg, struct loop_regs, struct loop_movables, struct loop_info): Moved from loop.h. (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment, reg_dead_after_loop, final_biv_value, loop_find_equiv_value, find_common_reg_term, loop_iterations, final_giv_value): Moved from unroll.c. (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop, loop_dump_stream, for_each_insn_in_loop, express_from, extend_value_for_giv, loop_iv_add_mult_emit_before, loop_iv_add_mult_sink, loop_iv_add_mult_hoist, loop_insn_first_p, get_condition_for_loop, loop_insn_emit_before, loop_insn_hoist, loop_insn_sink): Made static. (loop_invariant_p): Made static. Removed flag_old_unroll_loops reference. (strength_reduce): Do not call unroller. (record_giv): Do not initialize unrolled field. (prescan_loop): Do not set loop_info->preconditioned. * passes.c: Do not include loop.h. (rest_of_handle_loop_optimize): Do not call unroller. * predict.c: Do not include loop.h. * rtl.h (NOTE_PRECONDITIONED): Removed. * stmt.c: Do not include loop.h. * toplev.c: Do not include loop.h. (process_options): Do not handle flag_old_unroll_loops. * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops): Documentation removed. * doc/passes.texi (unroll.c, loop.h): Documentation removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87485 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi, doc/invoke.texi, doc/passes.texi: Fixkazu2004-09-101-2/+2
| | | | | | | typos. Follow spelling conventions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87293 138bc75d-0d04-0410-961f-82ee72b054a4
* Toplevel:dberlin2004-09-091-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-09-09 Daniel Berlin <dberlin@dberlin.org> * Makefile.def: Remove libbanshee. * Makefile.tpl: Ditto. * configure.in: Ditto. * Makefile.in: Regen. * configure: Ditto. gcc/ 2004-09-09 Daniel Berlin <dberlin@dberlin.org> * Makefile.in: Remove libbanshee, tree-alias-*. Remove tree-alias-common.h dependencies. * common.opt: Remove -ftree-points-to. * configure.ac: Remove libbanshee. * flags.h: Remove pta_type, flag_tree_points_to. * gengtype.c (open_base_files): Remove tree-alias-type.h. * opts.c (OPT_ftree_points_to): Remove. * toplev.c: Remove tree-alias-common.h, flag_tree_points_to. * tree-dfa.c: Remove tree-alias-common.h * tree-into-ssa.c: Ditto. * tree-outof-ssa.c: Ditto. * tree-ssa-copyrename.c: Ditto. * tree-ssa-live.c: Ditto. * tree-optimize.c: Ditto. * tree-ssa.c: Ditto. Remove pass_build_pta, pass_del_pta. * tree-pass.h: Ditto. * tree-ssa-alias.c: Remove tree-alias-common.h. (struct alias_stats_d): Remove pta_queries, pta_resolved. (pass_may_alias): Remove PROP_pta requirement. (may_alias_p): Remove pta_queries, pta_resolved, use of andersens. (get_tmt_for): Ditto. (dump_alias_stats): Ditto. * doc/passes.texi: Remove blurb about points-to analysis. * fortran/Make-lang.in: Remove tree-alias-*.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87253 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-loop-ivopts.c: New file.rakdver2004-09-051-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (tree-ssa-loop-ivopts.c): Add. * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost, target_pres_cost, target_spill_cost): Declare. * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost, spill_cost): Renamed to ... (target_avail_regs, target_res_regs, target_small_cost, target_pres_cost, target_spill_cost): ... and exported. (init_set_costs, global_cost_for_size): Work with renamed variables. * common.opt (flag_ivopts): New flag. * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle REF_ORIGINAL. * gimplify.c (struct gimplify_ctx): Add into_ssa field. (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support generating SSA form. (force_gimple_operand): New function. * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar. * tree-cfg.c (stmt_bsi): New function. * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, PARAM_IV_MAX_CONSIDERED_USES): New. * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge, bsi_insert_on_edge_immediate_loop. standard_iv_increment_position, ip_end_pos, ip_normal_pos, force_gimple_operand): Declare. * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names. * tree-nested.c (build_addr): Export. * tree-optimize.c (init_tree_optimization_passes): Add pass_iv_optimize. * tree-pass.h (pass_iv_optimize): Declare. * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and IMAGPART_EXPR. * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable as a phi node argument. (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop, ip_end_pos, ip_normal_pos, standard_iv_increment_position): New functions. * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export. * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts, pass_iv_optimize): New pass. * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL. * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL. * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions. * tree.h (REF_ORIGINAL): New macro. (build_int_cst_type, unsigned_type_for, zero_p, cst_and_fits_in_hwi, build_addr): Declare. * doc/invoke.texi (-fivopts): Document. (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, PARAM_IV_MAX_CONSIDERED_USES): Document. * doc/passes.texi: Document induction variable optimizations pass. * gcc.dg/tree-ssa/loop-2.c: New test. * gcc.dg/tree-ssa/loop-3.c: New test. * gcc.dg/tree-ssa/loop-4.c: New test. * gcc.dg/tree-ssa/loop-5.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87100 138bc75d-0d04-0410-961f-82ee72b054a4
* Tree level if-conversion for vectorizer.dpatel2004-09-041-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (OBJS-common): Add tree-if-conv.o (tree-if-conv.o): New rule. * cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag. (get_loop_body_in_bfs_order): New. * cfgloop.h (get_loop_body_in_bfs_order): New. * tree-flow.h (enum move_pos): Move here from .. * tree-ssa-loop-im.c (enum move_pos): here. (movement_possibility): Make externally visible. * tree-optimize.c (init_tree_optimization_passes): New entry for if conversion pass. * tree-pass.h (pass_if_conversion): New. * tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR. * tree-if-conv.c: New file. * doc/passes.texi: Document tree if-conversion pass. * doc/tree-ssa.texi: Same. testsuite: * gcc.dg/tree-ssa/ifc-20040816-1.c: New test. * gcc.dg/tree-ssa/ifc-20040816-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87073 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-ssa-loop-ivcanon.c: New file.rakdver2004-08-241-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree-ssa-loop-manip.c (create_iv): New function. * Makefile.in (tree-ssa-loop-ivcanon.o): Add. (tree-ssa-loop.o, tree-ssa-loop-manip.o): Add SCEV_H dependency. * cfgloop.c (mark_single_exit_loops): New function. (verify_loop_structure): Verify single-exit loops. * cfgloop.h (struct loop): Add single_exit field. (LOOPS_HAVE_MARKED_SINGLE_EXITS): New constant. (mark_single_exit_loops): Declare. (tree_num_loop_insns): Declare. * cfgloopmanip.c (update_single_exits_after_duplication): New function. (duplicate_loop_to_header_edge): Use it. * common.opt (fivcanon): New flag. * timevar.def (TV_TREE_LOOP_IVCANON, TV_COMPLETE_UNROLL): New timevars. * tree-cfg.c (tree_find_edge_insert_loc): Return newly created block. (bsi_commit_edge_inserts_1): Pass null to tree_find_edge_insert_loc. (bsi_insert_on_edge_immediate): New function. * tree-flow.h (bsi_insert_on_edge_immediate, canonicalize_induction_variables, tree_unroll_loops_completely, create_iv): Declare. * tree-optimize.c (init_tree_optimization_passes): Add pass_iv_canon and pass_complete_unroll. * tree-pass.h (pass_iv_canon, pass_complete_unroll): Declare. * tree-scalar-evolution.c (get_loop_exit_condition, get_exit_conditions_rec, number_of_iterations_in_loop, scev_initialize): Use single_exit information. * tree-ssa-loop-niter.c (number_of_iterations_cond): Record missing assumptions. (loop_niter_by_eval): Return number of iterations as unsigned int. * tree-ssa-loop.c (tree_ssa_loop_init): Mark single exit loops. (tree_ssa_loop_ivcanon, gate_tree_ssa_loop_ivcanon, pass_iv_canon, tree_complete_unroll, gate_tree_complete_unroll, pass_complete_unroll): New passes. (tree_ssa_loop_done): Call free_numbers_of_iterations_estimates. * tree-ssanames.c (make_ssa_name): Allow creating ssa name before the defining statement is ready. * tree-vectorizer.c (vect_create_iv_simple): Removed. (vect_create_index_for_array_ref, vect_transform_loop_bound): Use create_iv. (vect_transform_loop_bound): Use single_exit information. (vect_analyze_loop_form): Cleanup bogus tests. (vectorize_loops): Do not call flow_loop_scan. * tree.h (may_negate_without_overflow_p): Declare. * fold-const.c (may_negate_without_overflow_p): Split out from ... (negate_expr_p): ... this function. (tree_expr_nonzero_p): Handle overflowed constants correctly. * doc/invoke.texi (-fivcanon): Document. * doc/passes.texi: Document canonical induction variable creation. * gcc.dg/tree-ssa/loop-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86516 138bc75d-0d04-0410-961f-82ee72b054a4