aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.h
AgeCommit message (Collapse)AuthorFilesLines
2008-05-09invoke.texi (-fdump-tree-salias): Remove documentation.Richard Guenther1-4/+0
2008-05-08 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fdump-tree-salias): Remove documentation. (-ftree-salias): Likewise. (salias-max-implicit-fields): Remove param documentation. (salias-max-array-elements): Likewise. * tree-pass.h (pass_create_structure_vars): Remove. * params.h (SALIAS_MAX_IMPLICIT_FIELDS): Remove. (SALIAS_MAX_ARRAY_ELEMENTS): Likewise. * tree-ssa-alias.c (create_structure_vars): Remove. (gate_structure_vars): Likewise. (pass_create_structure_vars): Likewise. (gate_build_alias): Likewise. (pass_build_alias): Adjust to run always and dump the function. * common.opt (ftree-salias): Hide. * passes.c (init_optimization_passes): Remove pass_create_structure_vars, adjust comment. * params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): Remove. (PARAM_SALIAS_MAX_ARRAY_ELEMENTS): Likewise. * opts.c (decode_options): Do not set flag_tree_salias. (common_handle_option): Add OPT_ftree_salias to the backward compatibility section. * gcc.dg/tree-ssa/20040911-1.c: Adjust. * gcc.dg/tree-ssa/20040517-1.c: Likewise. * gcc.dg/tree-ssa/pr26421.c: Likewise. * gcc.dg/tree-ssa/pr23382.c: Likewise. * gcc.dg/tree-ssa/alias-15.c: Likewise. * gcc.dg/tree-ssa/inline_asm-1.c: Likewise. * gcc.dg/tree-ssa/inline_asm-2.c: Likewise. * gcc.dg/tree-ssa/pta-fp.c: Likewise. * gcc.dg/tree-ssa/20031015-1.c: Likewise. * gcc.dg/tree-ssa/alias-12.c: Likewise. From-SVN: r135111
2007-10-24ipa-type-escape.h: Expose function is_array_access_through_pointer_and_index.Olga Golovanevsky1-0/+2
2007-10-24 Olga Golovanevsky <olga@il.ibm.com> * ipa-type-escape.h: Expose function is_array_access_through_pointer_and_index. * ipa-type-escape.c (is_array_access_through_pointer_and_index): Add three new parameters. Add support of POINTER_PLUS_EXPR tree code. 2007-10-24 Olga Golovanevsky <olga@il.ibm.com> * ipa-struct-reorg.c, ipa-struct-reorg.h: New files. * tree-pass.h: Add pass_ipa_struct_reorg. * common.opt: Add ipa-struct-reorg flag. * Makefile.in: Add ipa-strcut-reorg.o compilation. * passes.c: Add pass pass_ipa_struct_reorg. * params.h: Add STRUCT_REORG_COLD_STRUCT_RATIO. * params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO. From-SVN: r129600
2007-08-01invoke.texi (l1-cache-size): Update documentation.Zdenek Dvorak1-0/+2
* doc/invoke.texi (l1-cache-size): Update documentation. (l2-cache-size): Document. * params.h (L2_CACHE_SIZE): New macro. * tree-ssa-loop-prefetch.c (L1_CACHE_SIZE_BYTES): Reflect that L1_CACHE_SIZE is in kB now. (L2_CACHE_SIZE_BYTES): New macro. (tree_ssa_prefetch_arrays): Show size in kB. * config/i386/i386.h (struct processor_costs): Add l1_cache_size and l2_cache_size fields. * config/i386/driver-i386.c (describe_cache): Detect cache size in kB. * config/i386/i386.c (size_cost, i386_cost, i486_cost,pentium_cost, pentiumpro_cost, geode_cost, k6_cost, athlon_cost, k8_cost, amdfam10_cost, pentium4_cost, nocona_cost, core2_cost, generic64_cost, generic32_cost): Add l1_cache_size and l2_cache_size. (override_options): Set l1-cache-size and l2-cache-size to default values if not specified otherwise. * params.def (PARAM_L1_CACHE_SIZE): Change to set in kB. (PARAM_L2_CACHE_SIZE): New. From-SVN: r127117
2007-07-26Change copyright header to refer to version 3 of the GNU General Public ↵Nick Clifton1-7/+4
License and to point readers at the COPYING3 file and the FSF's license web page. From-SVN: r126948
2007-07-11params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.Douglas Gregor1-2/+2
2007-07-11 Douglas Gregor <doug.gregor@gmail.com> * params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove. (PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical types or not. * params.h (VERIFY_CANONICAL_TYPES): Remove. (USE_CANONICAL_TYPES): New. * doc/invoke.texi (verify-canonical-types): Remove. (use-canonical-types): Add. 2007-07-11 Douglas Gregor <doug.gregor@gmail.com> * typeck.c (comptypes): When USE_CANONICAL_TYPES, use the canonical types; otherwise, fall back to structural type comparisons. If ENABLE_CHECKING and USE_CANONICAL_TYPES, give an internal compiler error if the canonical types are wrong. From-SVN: r126550
2007-04-11re PR tree-optimization/30735 (50% slow down due to mem-ssa merge)Diego Novillo1-0/+2
PR 30735 PR 31090 * doc/invoke.texi: Document --params max-aliased-vops and avg-aliased-vops. * tree-ssa-operands.h (get_mpt_for, dump_memory_partitions, debug_memory_partitions): Move to tree-flow.h * params.h (AVG_ALIASED_VOPS): Define. * tree-ssa-alias.c (struct mp_info_def): Remove. Update all users. (mp_info_t): Likewise. (get_mem_sym_stats_for): New. (set_memory_partition): Move from tree-flow-inline.h. (mark_non_addressable): Only clear the set of symbols for the partition if it exists. (dump_memory_partitions): Move from tree-ssa-operands.c (debug_memory_partitions): Likewise. (need_to_partition_p): New. (dump_mem_ref_stats): New. (debug_mem_ref_stats): New. (dump_mem_sym_stats): New. (debug_mem_sym_stats): New. (update_mem_sym_stats_from_stmt): New. (compare_mp_info_entries): New. (mp_info_cmp): Call it. (sort_mp_info): Change argument to a list of mem_sym_stats_t objects. (get_mpt_for): Move from tree-ssa-operands.c. (find_partition_for): New. (create_partition_for): Remove. (estimate_vop_reduction): New. (update_reference_counts): New. (build_mp_info): New. (compute_memory_partitions): Refactor. Document new heuristic. Call build_mp_info, update_reference_counts, find_partition_for and estimate_vop_reduction. (compute_may_aliases): Populate virtual operands before calling debugging dumps. (delete_mem_sym_stats): New. (delete_mem_ref_stats): New. (init_mem_ref_stats): New. (init_alias_info): Call it. (maybe_create_global_var): Remove alias_info argument. Get number of call sites and number of pure/const call sites from gimple_mem_ref_stats(). (dump_alias_info): Call dump_memory_partitions first. (dump_points_to_info_for): Show how many times a pointer has been dereferenced. * opts.c (decode_options): For -O2 set --param max-aliased-vops to 500. For -O3 set --param max-aliased-vops to 1000 and --param avg-aliased-vops to 3. * fortran/options.c (gfc_init_options): Remove assignment to MAX_ALIASED_VOPS. * tree-flow-inline.h (gimple_mem_ref_stats): New. * tree-dfa.c (dump_variable): Dump memory reference statistics. Dump NO_ALIAS* settings. (referenced_var_lookup): Tidy. (mem_sym_stats): New. * tree-ssa-copy.c (may_propagate_copy): Return true if DEST and ORIG are different SSA names for a memory partition. * tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats. * tree-flow.h (struct mem_sym_stats_d): Define. (mem_sym_stats_t): Define. (struct mem_ref_stats_d): Define. (struct gimple_df): Add field mem_ref_stats. (enum noalias_state): Define. (struct var_ann_d): Add bitfield noalias_state. (mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats, debug_mem_ref_stats, debug_memory_partitions, debug_mem_sym_stats): Declare. * tree-ssa-structalias.c (update_alias_info): Update call sites, pure/const call sites and asm sites in structure returned by gimple_mem_ref_stats. Remove local variable IS_POTENTIAL_DEREF. Increase NUM_DEREFS if the memory expression is a potential dereference. Call update_mem_sym_stats_from_stmt. If the memory references memory, call update_mem_sym_stats_from_stmt for all the direct memory symbol references found. (intra_create_variable_infos): Set noalias_state field for pointer arguments according to the value of flag_argument_noalias. * tree-ssa-structalias.h (struct alias_info): Remove fields num_calls_found and num_pure_const_calls_found. (update_mem_sym_stats_from_stmt): Declare. * params.def (PARAM_MAX_ALIASED_VOPS): Change description. Set default value to 100. (PARAM_AVG_ALIASED_VOPS): Define. From-SVN: r123719
2007-01-14param.h (MIN_VECT_LOOP_BOUND): New.Dorit Nuzman1-0/+2
* param.h (MIN_VECT_LOOP_BOUND): New. * params.def (MIN_VECT_LOOP_BOUND): New. * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another argument - minimum threshold for number of iterations. * tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another argument to declaration. * tree-vect-analyze.c (vect_analyze_operations): Check value of MIN_VECT_LOOP_BOUND. * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call slpeel_tree_peel_loop_to_edge with additional argument. (vect_do_peeling_for_alignment): Likewise. * doc/invoke.texi (min-vect-loop-bound): Document new param option. From-SVN: r120770
2007-01-02c-common.c (c_common_nodes_and_builtins): Since variants of void_type_node ↵Douglas Gregor1-0/+2
get built before it is given a name... 2007-01-02 Douglas Gregor <doug.gregor@gmail.com> * c-common.c(c_common_nodes_and_builtins): Since variants of void_type_node get built before it is given a name, we need to give those variants the name, too. (complete_array_type): We need to work with the canonical main type of the array, from which we will build the qualified version. * params.def (PARAM_VERIFY_CANONICAL_TYPES): New. * print-tree.c (print_node): Display canonical type information for each type. * stor-layout.c (layout_type): When we don't know the alignment of a type for which we're building an array, we end up guessing wrong, so make the type require structural equality. * tree.c (make_node_stat): When we build a new type, it is its own canonical type. (build_type_attribute_qual_variant): When building an attribute variant, its canonical type is the non-attribute variant. However, if the attributes are target-dependent and they differ, we need to use structural equality checks for this type. (build_qualified_type): A qualified type is not equivalent to its unqualified variant; set the canonical type appropriately. (build_distinct_type_copy): When building a distinct type from another type, the new type is its own canonical type. (build_variant_type_copy): When building a new type variant, we assume that it is equivalent to the original type. (build_pointer_type_for_mode): When building a pointer type, also build a canonical type pointer. (build_reference_type_for_mode): When building a reference type, also build a canonical type reference. (build_index_type): When we can't hash an index type (e.g., because its maximum value is negative), the index type requires structural equality tests. (build_array_type): Build the canonical form of an array type. (build_function_type): Function types require structural equality, because they contain default arguments, attributes, etc. (build_method_type_directly): Ditto for method types. (build_offset_type): Build the canonical offset type. (build_complex_type): Build the canonical vector type. (make_vector_type): Build the canonical vector type. * tree.h (TYPE_CANONICAL): New. (TYPE_STRUCTURAL_EQUALITY_P): New. (SET_TYPE_STRUCTURAL_EQUALITY): New. (struct tree_type): Added "canonical" field. * params.h (VERIFY_CANONICAL_TYPES): New. * doc/c-tree.texi (TYPE_CANONICAL): Document. (TYPE_STRUCTURAL_EQUALITY_P): Document. (SET_TYPE_STRUCTURAL_EQUALITY): Document. * doc/invoke.texi (verify-canonical-types): Document --param parameter for verifying canonical types. 2007-01-02 Douglas Gregor <doug.gregor@gmail.com> * typeck.c (structural_comptypes): Renamed from "comptypes". (comptypes): Use canonical type information to perform fast type comparison. When VERIFY_CANONICAL_TYPES, verify that the canonical type comparison returns the same results as we would see from the current, structural check. Support COMPARE_STRUCTURAL when we need structural checks. * decl.c (typename_compare): Fix comment. (build_typename_type): TYPENAME_TYPE nodes require structural equality checks, because they resolve different based on the current class type. (make_unbound_class_template): UNBOUND_CLASS_TEMPLATE nodes require structural equality checks (for now). (build_ptrmemfunc_type): Build the canonical pointer to member function type. (compute_array_index_type): Whenever we build a new index type to represent the size of an array in a template, we need to mark this index type as requiring structural equality. This goes for arrays with value-dependent sizes with the current ABI, or all arrays with ABI-1. * tree.c (cplus_array_hash): New. (struct cplus_array_info): New. (cplus_array_compare): New. (cplus_array_htab): New. (build_cplus_array_type_1): Use a hash table to cache the array types we build. Build the canonical array type for each array type. (cp_build_qualified_type_real): When building a cv-qualified array type, use the hash table of array types and build canonical array types as necessary. (bind_template_template_parm): BOUND_TEMPLATE_TEMPLATE_PARM nodes use structural equality (for now). * cp-tree.h (COMPARE_STRUCTURAL): New. * pt.c (canonical_template_parms): New. (canonical_type_parameter): New. (process_template_parm): Find the canonical type parameter. (lookup_template_class): When we have named the primary template type, set the canonical type for our template class to the primary template type. If any of the template arguments need structural equality checks, the template class needs structural equality checks. (tsubst): When reducing the level of a template template parameter, we require structural equality tests for the resulting parameter because its template parameters have not had their types canonicalized. When reducing a template type parameter, find the canonical reduced type parameter. (any_template_arguments_need_structural_equality_p): New. 2007-01-02 Douglas Gregor <doug.gregor@gmail.com> * objc-act.c (objc_build_volatilized_type): Keep track of canonical types. (objc_get_protocol_qualified_type): Ditto. From-SVN: r120341
2006-12-11[multiple changes]Diego Novillo1-2/+0
2006-12-11 Diego Novillo <dnovillo@redhat.com> * doc/tree-ssa.texi: Update documentation for virtual operands and the use of push_stmt_changes/pop_stmt_changes. * doc/invoke.texi: Remove documentation for params global-var-threshold. Update documentation on max-aliased-vops. * tree-into-ssa.c: Cleanup comments, variables and spacing in various functions. (regs_to_rename): Declare. (mem_syms_to_rename): Declare. (dump_update_ssa): Declare. (debug_update_ssa): Declare. (dump_names_replaced_by): Declare. (debug_names_replaced_by): Declare. (dump_def_blocks): Declare. (debug_def_blocks): Declare. (dump_defs_stack): Declare. (debug_defs_stack): Declare. (dump_currdefs): Declare. (debug_currdefs): Declare. (mark_def_sites): Do not handle virtual operands. (compute_idf): Rename from find_idf. Update users. (register_new_def): Make local. Convert second argument to 'tree'. Use BLOCK_DEFS_STACK directly. If pushing a non-register, also push the underlying symbol. (rewrite_stmt): Do not handle virtual operands. (dump_tree_ssa): Call dump_def_blocks, dump_defs_stack, dump_currdefs and dump_tree_ssa_stats. (dump_tree_ssa_stats): Also dump REPL_TBL. (replace_use): Remove. Update all users to call SET_USE instead. (rewrite_blocks): Move code to free memory to fini_ssa_renamer. (mark_def_site_blocks): Move initialization code to init_ssa_renamer. (init_ssa_renamer): New. (fini_ssa_renamer): New. (rewrite_into_ssa): Call them. (prepare_block_for_update): Process SSA_OP_ALL_USES first and SSA_OP_ALL_DEFS later. Do not process virtual operands separately. (dump_update_ssa): Call dump_decl_set. (init_update_ssa): Initialize regs_to_rename and mem_syms_to_rename. Call init_ssa_renamer. (delete_update_ssa): Call fini_ssa_renamer. Free blocks_with_phis_to_rewrite. (mark_sym_for_renaming): If the variable has sub-variables, also mark them. If the variable belongs to a partition, also mark it. (mark_set_for_renaming): Call mark_sym_for_renaming on every symbol in the set. (switch_virtuals_to_full_rewrite): Call mark_set_for_renaming. (update_ssa): Separate syms_to_rename into regs_to_rename and mem_syms_to_rename. * tree-dump.c (dump_options): Add TDF_MEMSYMS. * tree-pretty-print.c (debug_generic_expr): Add TDF_MEMSYMS. (debug_generic_stmt): Likewise. (debug_tree_chain): Likewise. (dump_symbols): New. (dump_generic_node): Check for TDF_MEMSYMS. Handle MEMORY_PARTITION_TAG. If the statement references memory and TDF_MEMSYMS is given, call dump_symbols. Indicate default names with (D). (dump_vops): Update for new virtual operator format. * tree.c (init_ttree): Add MEMORY_PARTITION_TAG to tree_contains_struct. (tree_code_size): Handle MEMORY_PARTITION_TAG. (tree_node_structure): Likewise. (needs_to_live_in_memory): Handle SSA names. * tree.h (MTAG_P): Likewise. (struct tree_memory_partition_tag): Declare. (MPT_SYMBOLS): Define. (union tree_node): Add field 'mpt'. * treestruct.def (TS_MEMORY_PARTITION_TAG): Define. * tree.def (MEMORY_PARTITION_TAG): Define. * tree-pass.h (TDF_MEMSYMS): Define. * params.h (GLOBAL_VAR_THRESHOLD): Remove. * tree-ssa-alias.c: Include pointer-set.h (struct alias_map_d): Remove fields total_alias_vops, grouped_p and may_aliases. Update all users. (struct mp_info_def): Declare. (mp_info_t): New type. (get_smt_for): Rename from get_tmt_for. Update all users. (add_may_alias): Add argument ALREADY_ADDED. If given, use it to avoid adding duplicate entries to alias sets. (replace_may_alias): Remove. Update all users. (total_alias_vops_cmp): Remove. Update all users. (group_aliases_into): Remove. Update all users. (tree_pointer_compare): Remove. Update all users. (compact_name_tags): Remove. Update all users. (group_aliases): Remove. Update all users. (mark_non_addressable): Move from tree-flow-inline.h. Remove the symbol from the partition holding it, if needed. (dump_mp_info): New. (debug_mp_info): New. (sort_mp_info): New. (create_partition_for): New. (rewrite_alias_set_for): New. (compute_memory_partitions): New. (compute_may_aliases): Call it. (init_alias_info): If computing aliases for the first time, mark every memory symbol for renaming. (have_common_aliases_p): New. (compute_flow_insensitive_aliasing): Call it. (setup_pointers_and_addressables): Do not cache num_referenced_vars. For register promoted symbols, mark their former partition for renaming. (maybe_create_global_var): Only create .GLOBAL_VAR if there are no call-clobbered variables and a mix of pure and non-pure functions were found. (may_alias_p): Tidy comments. (create_tag_raw): Remove unused variable new_type. (dump_alias_info): call dump_memory_partitions. (dump_points_to_info_for): Call dump_decl_set. (may_be_aliased): Tidy comments and formatting. * timevar.def (TV_MEMORY_PARTITIONING): Define. * tree-vectorizer.c (vect_memsyms_to_rename): Rename from vect_vnames_to_rename. Set DECL_UIDs instead of SSA name versions in it. (slpeel_update_phi_nodes_for_guard1): Ignore memory PHIs. * tree-vect-transform.c (vect_transform_loop): Call mark_set_for_renaming with vect_memsyms_to_rename. * tree-flow-inline.h (zero_imm_uses_p): New. (memory_partition): New. (set_memory_partition): New. (factoring_name_p): New. (symbol_mem_tag): New. Update every function that used to access the annotation directly. (set_symbol_mem_tag): Likewise. * tree-ssa-copy.c (may_propagate_copy): Allow copies between a partition and a symbol as long as the symbol belongs to the partition. (merge_alias_info): Ignore merge requests when memory partitions are involved. * tree-ssa.c (verify_ssa_name): Check that default definitions have empty defining statements. (verify_use): Remove argument IS_VIRTUAL. Don't call verify_ssa_name. (verify_phi_args): Call verify_ssa_name. (verify_flow_insensitive_alias_info): Handle MPTs. (verify_flow_sensitive_alias_info): Likewise. (verify_name_tags): Likewise. (verify_call_clobbering): Likewise. (verify_ssa): Check for VOPs only after aliasing information is available. Check virtuals and real operands separately. Call verify_ssa_name on every operand. (stmt_references_memory_p): Move to tree-ssa-operands.c. (walk_use_def_chains_1): Guard against NULL PHI arguments. * tree-ssa-operands.c (stmt_references_memory_p): Move from tree-ssa.c. (get_mpt_for): New. (dump_memory_partitions): New. (debug_memory_partitions): New. * tree-flow.h (struct var_ann_d): Add field mpt. (struct stmt_ann_d): Add bitfield references_memory. * Makefile.in (tree-ssa-structalias.o): Include pointer-set.h (tree-ssa-alias.o): Likewise. * tree-ssa-structalias.c: (update_alias_info): Use STORED_SYMS to determine which variables are being written to by the store operation. * tree-ssa-structalias.h (struct alias_info) <total_alias_vops>: Remove. Update all users. <written_vars>: Change to a pointer set. Update all users. <dereferenced_ptrs_store>: Likewise. <dereferenced_ptrs_load>: Likewise. (NUM_REFERENCES): Remove. Update all users. (NUM_REFERENCES_CLEAR): Remove. Update all users. (NUM_REFERENCES_INC): Remove. Update all users. (NUM_REFERENCES_SET): Remove. Update all users. * params.def (PARAM_GLOBAL_VAR_THRESHOLD): Remove. Update all users. (PARAM_MAX_ALIASED_VOPS): Set to 10. * tree-ssanames.c (make_ssa_name): Initialize SSA_NAME_IS_DEFAULT_DEF to 0. 2006-12-11 Aldy Hernandez <aldyh@redhat.com> * tree-ssa-dse.c (aggregate_vardecl_d): New. (dse_global_data): Add aggregate_vardecl field. (dse_possible_dead_store_p): New. Add prev_defvar variable. Allow immediate uses and previous immediate uses to differ if they are setting different parts of the whole. (get_aggregate_vardecl): New. (dse_record_partial_aggregate_store): New. (dse_whole_aggregate_clobbered_p): New. (dse_partial_kill_p): New. (dse_optimize_stmt): Abstract code checking a possible dead store into new function dse_possible_dead_store_p(). Call dse_maybe_record_aggregate_store(). When checking whether a STMT and its USE_STMT refer to the same memory address, check also for partial kills that clobber the whole. Move some variable definitions to the block where they are used. (aggregate_vardecl_hash): New. (aggregate_vardecl_eq): New. (aggregate_vardecl_free): New. (aggregate_whole_store_p): New. (tree_ssa_dse): Initialize and free aggregate_vardecl. Mark which aggregate stores we care about. 2006-12-11 Andrew Macleod <amacleod@redhat.com> * tree-ssa-operands.h (struct vuse_element_d): Declare. (vuse_element_t): Declare. (struct vuse_vec_d): Declare. (vuse_vec_p): Declare. (VUSE_VECT_NUM_ELEM): Define. (VUSE_VECT_ELEMENT_NC): Define. (VUSE_ELEMENT_PTR_NC): Define. (VUSE_ELEMENT_VAR_NC): Define. (VUSE_VECT_ELEMENT): Define. (VUSE_ELEMENT_PTR): Define. (VUSE_ELEMENT_VAR): Define. (struct maydef_optype_d) <use_var>: Remove. <use_ptr>: Remove. <usev>: Add. (struct vuse_optype_d) <kill_var>: Remove. <use_ptr>: Remove. <usev>: Add. (struct mustdef_optype_d) <kill_var>: Remove. <use_ptr>: Remove. <usev>: Add. (VUSE_OP_PTR): Add argument. Use VUSE_ELEMENT_PTR. (VUSE_OP): Add argument. Use VUSE_ELEMENT_PTR. (VUSE_NUM): Define. (VUSE_VECT): Define. (MAYDEF_OP_PTR): Add argument. Use VUSE_OP_PTR. (MAYDEF_OP): Add argument. Use VUSE_OP. (MAYDEF_NUM): Define. (MAYDEF_VECT): Define. (MUSTDEF_KILL_PTR): Use VUSE_OP_PTR. (MUSTDEF_KILL): Use VUSE_OP. (MUSTDEF_NUM): Define. (MUSTDEF_VECT): Define. (realloc_maydef): Declare. (realloc_vuse): Declare. (struct ssa_operand_iterator_d) <vuse_index>: Add. <mayuse_index>: Add. (LOADED_SYMS): Define. (STORED_SYMS): Define. (FOR_EACH_SSA_MUSTDEF_OPERAND): Call op_iter_next_mustdef. * tree-into-ssa.c: Adapt for multi-operand V_MAY_DEF and VUSE operators. * tree-pretty-print.c: Likewise. * tree-ssa-dse.c: Likewise. * tree-flow-inline.h: Likewise. (op_iter_next_mustdef): New. * tree-ssa-operands.c: Likewise. (ALLOC_OPTYPE): Remove. Update all users. (alloc_def): New. (alloc_use): New. (alloc_maydef): New. (alloc_vuse): New. (alloc_mustdef): New. (realloc_maydef): New. (realloc_vuse): New. 2006-12-11 Aldy Hernandez <aldyh@redhat.com> * tree-ssa-operands.c: Remove build_v_must_defs. (init_ssa_operands): Delete build_v_must_defs. (finalize_ssa_v_must_def_ops): Remove. (finalize_ssa_v_must_defs): Remove. (finalize_ssa_stmt_operands): Do not call finalize_ssa_v_must_defs. (start_ssa_stmt_operands): Do not check build_v_must_defs. (append_v_must_def): Delete. (copy_virtual_operands): Do not copy V_MUST_DEFs. (get_modify_expr_operands): Remove reference to V_MUST_DEF from comment. Remove opf_kill_def. (build_ssa_operands): Remove references to v_must_defs. (copy_virtual_operands): Same. (copy_virtual_operands): Same. (fini_ssa_operands): Same. (free_ssa_operands): Same. (add_mustdef_op): Remove. Remove mustdef_optype_p. (alloc_mustdef): Remove. Remove references to V_MUST_DEFs in comment at top of file. (get_expr_operands): Remove opf_kill_def. (opf_kill_def): Remove. (add_virtual_operand): Remove opf_kill_def. (get_indirect_ref_operands): Same. (get_tmr_operands): Same. * tree-vectorizer.c (rename_variables_in_bb): Remove SSA_OP_ALL_KILLS. * tree-ssa-loop-manip.c (find_uses_to_rename_stmt): Remove SSA_OP_ALL_KILLS. (check_loop_closed_ssa_stmt): Same. * tree-ssa.c (verify_def): Remove V_MUST_DEF from comment. (verify_use): Same. (verify_ssa): Remove V_MUST_DEFs traces. (verify_ssa): Remove SSA_OP_ALL_KILLS. * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTDEF to SSA_OP_VMAYDEF. (rewrite_update_stmt): Remove SSA_OP_VIRTUAL_KILLS. (rewrite_stmt): Remove SSA_OP_ALL_KILLS. * tree-ssa-operands.h (struct stmt_operands_d): Remove V_MUST_DEF references. (MUSTDEF_OPS): Remove. (SSA_OP_VMUSTDEF): Remove. (FOR_EACH_SSA_MUSTDEF_OPERAND): Remove. (struct mustdef_optype_d): Remove. Remove mustdef_optype_p. (struct stmt_operands_d): Remove mustdef_ops. (ssa_operand_iterator_d): Remove mustdefs and mustkills. (SSA_OP_VIRTUAL_DEFS): Remove SSA_OP_VMUSTDEF. (MUSTDEF_RESULT_PTR): Remove. (MUSTDEF_RESULT): Remove. (MUSTDEF_KILL_PTR): Remove. (MUSTDEF_KILL): Remove. (MUSTDEF_NUM): Remove. (MUSTDEF_VECT): Remove. (SSA_OP_VIRTUAL_KILLS): Remove. (SSA_OP_ALL_VIRTUALS): Remove SSA_OP_VIRTUAL_KILLS. (SSA_OP_VMUSTKILL): Remove. (SSA_OP_ALL_KILLS): Remove. (SSA_OP_ALL_OPERANDS): Remove SSA_OP_ALL_KILLS. * tree-flow-inline.h (op_iter_init_def): Remove SSA_OP_VIRTUAL_KILLS. (delink_stmt_imm_use): Remove SSA_OP_ALL_KILLS. * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove SSA_OP_VIRTUAL_KILLS. * tree-ssa-loop-im.c (determine_max_movement): Remove SSA_OP_VIRTUAL_KILLS. (gather_mem_refs_stmt): Same. (gather_mem_refs_stmt): Same. * tree-ssa-dce.c (mark_really_necessary_kill_operand_phis): Delete. (perform_tree_ssa_dce): Remove call to mark_really_necessary_kill_operand_phis. * tree-flow-inline.h (op_iter_init): Remove setting of mustdefs and mustkills. (op_iter_next_use): Do not check mustkills. (op_iter_next_def): Do not check mustdefs. (op_iter_next_tree): Do not check mustkills or mustdefs. (clear_and_done_ssa_iter): Do not set mustdefs or mustkills. (op_iter_next_maymustdef): Do not check mustkills. (op_iter_init_must_and_may_def): Remove SSA_OP_VMUSTKILL. (op_iter_init_mustdef): Remove. * tree-ssa-live.c (create_ssa_var_map): Change SSA_OP_VMUSTDEF to SSA_OP_VMAYDEF. * tree-ssa-dse.c (dse_optimize_stmt): Remove SSA_OP_VMUSTDEF. * tree-ssa-ccp.c: Remove V_MUST_DEF traces from comments. (visit_assignment): Same. * tree-ssa-copy.c (copy_prop_visit_assignment): Same. * tree-sra.c (mark_all_v_defs_1): Remove V_MUST_DEF from comment. * tree-outof-ssa.c (check_replaceable): Remove SSA_OP_VMUSTDEF. * tree-pretty-print.c (dump_vops): Remove printing of V_MUST_DEF. Remove kill_p variable. * tree-dfa.c (struct dfa_stats_d): Remove num_v_must_defs. (dump_dfa_stats): Remove code related to V_MUST_DEFs. (collect_dfa_stats_r): Do not set num_v_must_defs. (mark_new_vars_to_rename): Remove v_must_defs_{before,after} code. * tree-into-ssa.c (mark_def_sites): Change SSA_OP_VMUSTKILL to SSA_OP_VMAYUSE. * tree-ssa-pre.c (compute_rvuse_and_antic_safe): Remove SSA_OP_VMUSTDEF and SSA_OP_VMUSTKILL. * tree-ssa-propagate.c (stmt_makes_single_store): Remove SSA_OP_VMUSTDEF. From-SVN: r119760
2006-11-12params.c (set_param_value): Initialize the "set" field.Zdenek Dvorak1-0/+15
* params.c (set_param_value): Initialize the "set" field. * params.h (struct param_info): Add "set" field. (PARAM_SET_P): New macro. (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES, L1_CACHE_SIZE, L1_CACHE_LINE_SIZE): New macros. * toplev.c (DEFPARAM): Initialize the "set" field. * tree-ssa-loop-prefetch.c (PREFETCH_LATENCY, SIMULTANEOUS_PREFETCHES): Removed. (PREFETCH_BLOCK): Use L1_CACHE_LINE_SIZE. (tree_ssa_prefetch_arrays): Dump the values of the parameters. * config/sparc/sparc.c: Include params.h. (sparc_override_options): Set SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters. * config/sparc/sparc.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Removed. * config/i386/i386.h (PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Removed. * config/i386/i386.c: Include params.h. (k8_cost): Change default value for SIMULTANEOUS_PREFETCHES. (override_options): Set SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters. * config/sh/sh.h (SIMULTANEOUS_PREFETCHES): Removed. (OPTIMIZATION_OPTIONS): Set SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters. * config/ia64/ia64.c (ia64_optimization_options): Set SIMULTANEOUS_PREFETCHES and L1_CACHE_LINE_SIZE parameters. * config/ia64/ia64.h (SIMULTANEOUS_PREFETCHES, PREFETCH_BLOCK): Removed. * params.def (PARAM_PREFETCH_LATENCY, PARAM_SIMULTANEOUS_PREFETCHES, PARAM_L1_CACHE_SIZE, PARAM_L1_CACHE_LINE_SIZE): New params. * doc/invoke.texi: Document new params. From-SVN: r118728
2006-04-14params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, defaulting to 100.Eric Botcazou1-0/+2
* params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, defaulting to 100. * params.h (MAX_SCHED_READY_INSNS): New macro. * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle past MAX_SCHED_READY_INSNS during the first scheduling pass. (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in the ready list for 1 cycle during the first scheduling pass. * doc/invoke.texi (--param): New parameter max-sched-ready-insns. From-SVN: r112936
2006-02-14re PR tree-optimization/26260 (PTA is slow with large structs (hits clisp))Daniel Berlin1-0/+2
2006-02-14 Daniel Berlin <dberlin@dberlin.org> Fix PR tree-optimization/26260 * doc/invoke.texi (max-fields-for-field-sensitive): Document param. * params.h (MAX_FIELDS_FOR_FIELD_SENSITIVE): New. * params.def (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE): Ditto. * tree-ssa-structalias.c (create_variable_info_for): Use MAX_FIELDS_FOR_FIELD_SENSITIVE. From-SVN: r110972
2006-01-14re PR tree-optimization/22548 (Aliasing can not tell array members apart)Richard Guenther1-0/+2
2006-01-14 Richard Guenther <rguenther@suse.de> PR tree-optimization/22548 PR tree-optimization/22555 PR tree-optimization/22501 * Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H). * params.def (salias-max-array-elements): New parameter. * params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define. * doc/invoke.texi (salias-max-array-elements): Document. * tree-flow-inline.h (var_can_have_subvars): We also handle arrays now. * tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like COMPONENT_REF. * tree-ssa-structalias.c (params.h): Include. (push_fields_onto_fieldstack): Handle ARRAY_TYPE. (find_func_aliases): Handle multiple constraints from ARRAY_REF. (get_constraint_for): For ADDR_EXPR operating on something containing an ARRAY_REF, add all subvars to the solution. (handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types. * tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF for creating MUST_DEFs. (get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars. * gcc.dg/tree-ssa/alias-4.c: New testcase. * gcc.dg/tree-ssa/alias-5.c: Likewise. * gcc.dg/tree-ssa/alias-6.c: Likewise. * gcc.dg/tree-ssa/alias-7.c: Likewise. * gcc.dg/tree-ssa/alias-8.c: Likewise. * gcc.dg/tree-ssa/alias-9.c: Likewise. * gcc.dg/tree-ssa/alias-10.c: Likewise. * gcc.dg/tree-ssa/alias-11.c: Likewise. * gcc.dg/tree-ssa/alias-12.c: Likewise. From-SVN: r109703
2005-08-04re PR middle-end/21529 (code size regression (+40%) with -Os from GCC-3.4.3 ↵Richard Henderson1-0/+2
to 4.1) PR 21529 * params.def (PARAM_SRA_MAX_STRUCTURE_COUNT): New. * params.h (SRA_MAX_STRUCTURE_COUNT): New. * tree-sra.c (decide_block_copy): Use it. Disable element copy if we'd have to instantiate too many members. From-SVN: r102761
2005-06-25Update FSF address.Kelley Cook1-2/+2
From-SVN: r101317
2005-04-22[multiple changes]Diego Novillo1-0/+4
2005-04-22 Diego Novillo <dnovillo@redhat.com> * Makefile.in (tree-into-ssa.o): Add dependency on PARAMS_H. * lambda-code.c (perfect_nestify): Mark virtual operands in the moved statement for renaming. * params.def (PARAM_MIN_VIRTUAL_MAPPINGS): Define. (PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define. * params.h (MIN_VIRTUAL_MAPPINGS): Define. (VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define. * tree-flow.h (struct var_ann_d): Update comments. (rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names, allocate_ssa_names, find_phi_node_for, dump_tree_ssa, debug_tree_ssa, debug_def_blocks, dump_tree_ssa_stats, debug_tree_ssa_stats, rewrite_ssa_into_ssa, dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by, debug_names_replaced_by): Remove declarations. (delete_update_ssa, get_current_def, set_current_def): Declare. (rewrite_into_loop_closed_ssa): Add new argument. Update all callers. * tree-into-ssa.c: Include params.h. (old_virtual_ssa_names): Remove. Update all users. (need_to_replace_names_p): Remove. Update all users. (struct update_ssa_stats_d): Declare. (update_ssa_stats): New local. (dump_tree_ssa, debug_tree_ssa, debug_def_blocks, dump_tree_ssa_stats, debug_tree_ssa_stats, dump_update_ssa, debug_update_ssa, dump_names_replaced_by, debug_names_replaced_by): Declare. (get_current_def, set current_def): Make extern. (is_old_name, is_new_name): Protect against references past the end of the sets. (add_new_name_mapping): Assert that OLD and NEW are different SSA names for the same symbol. When adding a virtual mapping, update stats for virtual mapping heuristic. (insert_phi_nodes_for): If UPDATE_P is true, create the LHS of the new PHI by duplicating SSA name VAR. (insert_phi_nodes_1): Remove. Update all users. (insert_phi_nodes): Remove second argument. Update all users. (maybe_replace_use, maybe_replace_def): New. (rewrite_update_stmt): Call them. (mark_def_interesting): Remove calls to is_gimple_reg. (prepare_phi_args_for_update): Remove. Update all users. (prepare_block_for_update): Only process virtual operands and GIMPLE registers in normal form. (prepare_use_sites_for): New. (prepare_names_to_update): Rename from prepare_def_sites. Call prepare_use_sites_for. (dump_update_ssa): Rename from dump_repl_tbl. Update all users. Show statistics for virtual mapping heuristic. (debug_update_ssa): Rename from debug_debug_repl_tbl. (init_update_ssa): Initialize UPDATE_SSA_STATS. (delete_update_ssa): Make extern. (mark_set_for_renaming): If the set is empty, do nothing. (release_ssa_name_after_update_ssa): Update comment. (insert_updated_phi_nodes_for): Do not remove existing PHI nodes for symbols. (switch_virtuals_to_full_rewrite_p): New. (switch_virtuals_to_full_rewrite): New. (update_ssa): Call them. Clear REWRITE_THIS_STMT and REGISTER_DEFS_IN_THIS_STMT for every statement before updating. If all the names in NEW_SSA_NAMES have been marked for removal, do nothing. Only start at the top of the CFG if there are symbols in SYMS_TO_RENAME. (ssa_rewrite_finalize_block): Remove. (ssa_register_new_def): Remove. (ssa_rewrite_stmt): Remove. (ssa_rewrite_phi_arguments): Remove. (ssa_rewrite_initialize_block): Remove. (ssa_mark_def_sites): Remove. (ssa_mark_def_sites_initialize_block): Remove. (ssa_mark_phi_uses): Remove. (rewrite_ssa_into_ssa): Remove. * tree-phinodes.c (find_phi_node_for): Remove. * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Call update_ssa. * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Remove calls to verify_dominators and verify_loop_structure. (tree_unswitch_single_loop): Call update_ssa. * tree-ssa.c (verify_ssa): Assert that need_ssa_update_p returns false. Call verify_stmts. (delete_tree_ssa): Assert that need_ssa_update_p returns false. * tree-vect-transform.c (vect_transform_loop): Call update_ssa. * tree-vectorizer.c (allocate_new_names, rename_def_op, free_new_names): Remove. Update all users. (rename_use_op): Call get_current_def. (rename_variables_in_bb): Do not handle any real or virtual definition. (slpeel_update_phis_for_duplicate_loop): Call get_current_def and set_current_def instead of using SSA_NAME_AUX. (slpeel_update_phi_nodes_for_guard2): Reformat comments. (slpeel_can_duplicate_loop_p): Call need_ssa_update_p, ssa_names_to_replace and delete_update_ssa. * doc/invoke.texi: Document --param min-virtual-mappings and --param virtual-mappings-ratio. 2005-04-22 Zdenek Dvorak <dvorakz@suse.cz> Diego Novillo <dnovillo@redhat.com> * tree-cfg.c (tree_duplicate_bb): Call create_new_def_for for newly created PHI nodes. Call create_new_def_for for every new V_MAY_DEF and V_MUST_DEF on the copied statement. (struct ssa_name_map_entry): Remove. (ssa_name_map_entry_hash): Remove. (ssa_name_map_entry_eq): Remove. (allocate_ssa_names): Remove. (rewrite_to_new_ssa_names_def): Remove. (rewrite_to_new_ssa_names_use): Remove. (rewrite_to_new_ssa_names_bb): Remove. (rewrite_to_new_ssa_names): Remove. (tree_duplicate_sese_region): Remove variables ver, definitions, phi, ssa_name_map and bi. Call need_ssa_update_p instead of any_marked_for_rewrite_p. Call update_ssa. * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call update_ssa instead of rewrite_ssa_into_ssa. * tree-ssa-loop-manip.c (add_exit_phis_edge): Call create_new_def_for. (find_uses_to_rename_use): Add argument 'need_phis'. (find_uses_to_rename_stmt): Do not scan virtual operands. (find_uses_to_rename): Only scan PHI nodes for non-virtual names. (rewrite_into_loop_closed_ssa): Call update_ssa. (check_loop_closed_ssa_use): Ignore virtual operands. (check_loop_closed_ssa_stmt): Likewise. (verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is NULL. (rename_variables, set_phi_def_stmts): Remove. (tree_duplicate_loop_to_header_edge): Reformat comment. Remove variables BB, I and DEFINITIONS. Call need_ssa_update_p. Call update_ssa. (lv_adjust_loop_header_phi): Reformat comment. * tree-ssanames.c (ssa_names_to_rewrite): Remove. (marked_for_rewrite_p, any_marked_for_rewrite_p, mark_for_rewrite, unmark_all_for_rewrite, marked_ssa_names): Remove. Update all users. (release_ssa_name): If VAR has been registered for SSA updating, do nothing. * tree-vrp.c (new_ssa_names, old_ssa_names): Remove. (build_assert_expr_for): Call register_new_name_mapping. (insert_range_assertions): Update call to update_ssa. * tree.h (mark_for_rewrite, unmark_all_for_rewrite, marked_for_rewrite_p, any_marked_for_rewrite_p, marked_ssa_names): Remove. From-SVN: r98599
2005-04-06params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): NewDaniel Berlin1-0/+2
2005-04-06 Daniel Berlin <dberlin@dberlin.org> * params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): New * params.h (SALIAS_MAX_IMPLICIT_FIELDS): New * doc/invoke.texi: Documnet salias-max-implicit-fields. * tree-ssa-alias.c (struct used_part): Add implicit_uses and explicit_uses members. (get_or_create_used_part_for): Initialize new fields. (fieldoff_compare): New function. (create_overlap_variables_for): Count number of fields, use heuristic to determine whether to create subvars for vars with only implicit uses. Sort the field list by offset and avoid creating duplicate SFT's. From-SVN: r97746
2005-01-23alias.c, [...]: Fix comment typos.Kazu Hirata1-1/+1
* alias.c, c-common.h, c-incpath.c, c-incpath.h, expr.c, fold-const.c, gimplify.c, params.h, tree-data-ref.c, tree-if-conv.c, tree-nested.c, tree-outof-ssa.c, tree-ssa-dom.c, tree-vectorizer.c, tree.def, config/darwin.c, config/freebsd-spec.h, config/arm/arm.h, config/h8300/h8300.md, config/i386/i386.md, config/i386/predicates.md, config/i386/sse.md, config/ia64/ia64.c, config/ip2k/ip2k.c, config/s390/s390.c, config/vax/vax.md: Fix comment typos. Follow spelling conventions. From-SVN: r94112
2005-01-20params.def, [...]: Update copyright.Kazu Hirata1-1/+1
* params.def, params.h, predict.c, tree-ssa-loop-im.c: Update copyright. From-SVN: r93961
2005-01-19re PR rtl-optimization/15139 (cc1 uses excessive amounts of memory compiling ↵Jakub Jelinek1-0/+2
small routine) PR rtl-optimization/15139 * combine.c: Include params.h. (count_rtxs): New function. (record_value_for_reg): If replace_rtx would replace at least 2 occurrences of REG in VALUE and TEM is really large, replace REG with (clobber (const_int 0)) instead of TEM. * params.def (PARAM_MAX_LAST_VALUE_RTL): New. * params.h (MAX_LAST_VALUE_RTL): New. * Makefile.in (combine.o): Depend on $(PARAMS_H). * doc/invoke.texi (--param max-last-value-rtl=N): Document. * gcc.dg/20050111-2.c: New test. From-SVN: r93892
2004-12-01re PR middle-end/18667 (ice with --parm integer-share-limit=0)Nathan Sidwell1-1/+8
PR middle-end/18667 * params.c (set_param_value): Add range check. * params.def: Add min and max values. Reformat long strings. * params.h (struct param_info): Add min and max fields. (enum compiler_param): Adjust DEFPARAM. * toplev.c (lang_independent_params): Likewise. From-SVN: r91567
2004-11-29opts.c (decode_options): Do not set max-inline-insns-rtl.Nathan Sidwell1-2/+0
* opts.c (decode_options): Do not set max-inline-insns-rtl. (common_handle_option): Likewise. * params.def (PARAM_MAX_INLINE_INSNS_RTL): Remove. * params.h (MAX_INLINE_INSNS_RTL): Remove. * doc/invoke.texi (max-inline-insns-rtl): Remove. From-SVN: r91463
2004-10-28params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New.Ben Elliston1-0/+4
* params.def (PARAM_SRA_MAX_STRUCTURE_SIZE): New. (PARAM_SRA_FIELD_STRUCTURE_RATIO): Likewise. * params.h (SRA_MAX_STRUCTURE_SIZE): New. (SRA_FIELD_STRUCTURE_RATIO): Likewise. * tree-sra.c: Include "params.h". (decide_block_copy): Use new parameters. * doc/invoke.texi (Optimize Options): Document new SRA pass parameters sra-max-structure-size and sra-field-structure-ratio. [testsuite] * gcc.dg/tree-ssa/sra-1.c: Pass --param sra-max-structure-size. From-SVN: r89711
2004-10-18Makefile.in (loop-unroll.o): Add VARRAY_H dependency.Revital Eres1-0/+2
2004-10-18 Revital Eres <eres@il.ibm.com> * Makefile.in (loop-unroll.o): Add VARRAY_H dependency. * loop-unroll.c: Include varray.h. (struct var_to_expand, struct opt_info): Rename split_ivs_info to opt_info and expand it to support variable expansion. (analyze_insns_in_loop): Rename analyze_ivs_to_split and expand it to support variable expansion. (pt_info_start_duplication): Rename si_info_start_duplication. (apply_opt_in_copies): Rename split_ivs_in_copies and add support to the variable expansion optimization. (free_opt_info): Rename free_si_info. (analyze_insn_to_expand_var, referenced_in_one_insn_in_loop_p, expand_var_during_unrolling, insert_var_expansion_initialization, combine_var_copies_in_loop_exit, release_var_copies, get_expansion): New functions. (peel_loop_completely, unroll_loop_constant_iterations, unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid): Change uses of struct si_info to struct opt_info and add uses of fvariable-expansion-in-unroller flag. * params.def: Add parameter to restrict the number of expansions. * params.h: (MAX_VARIABLE_EXPANSIONS): New define to restrict the number of expansions. * common.opt: (fvariable-expansion-in-unroller): New flag. * doc/invoke.texi: (fvariable-expansion-in-unroller): Document. From-SVN: r89197
2004-08-19tree.h (TYPE_CACHED_VALUES_P): New.Nathan Sidwell1-0/+2
* tree.h (TYPE_CACHED_VALUES_P): New. (TYPE_CACHED_VALUES): New. (TYPE_ORIG_SIZE_TYPE): Adjust. * tree.def (INTEGER_CST): Update documentation. * tree.c: Inlcude params.h. (build_int_cst): Cache small values. (build_type_copy): Do not copy the value cache. * c-common.c (c_common_nodes_and_builtins): Add comment, remove unneeded zeroing. * c-typeck.c (build_c_cast): Add comment about OVERFLOW setting. * expmed.c (const_mult_add_overflow_p): Clear type copy's value cache. * fold-const.c (force_fit_type): Copy value when setting overflows. (int_const_binop): Likewise. * stor-layout.c: Include params.h (set_sizetype): Create values cache. (fixup_unsigned_type): Set UNSIGNED_P before caching any values. * params.def (PARAM_INTEGER_SHARE_LIMIT): New. * params.h (INTEGER_SHARE_LIMIT): New. * Makefile.in (tree.o, stor-layout.o): Depend on PARAMS_H. * cp/decl.c (finish_enum): Do not copy value node early, copy later. * cp/lex.c (cxx_init): Force null_node to be unique. * java/parse.h (JAVA_RADIX10_FLAG): Rename to ... (JAVA_NOT_RADIX10_FLAG): ... here. Invert meaning. * java/lex.c (do_java_lex): Adjust. (error_if_numeric_overflow): Likewise. From-SVN: r86247
2004-05-25ddg.h, [...]: New files.Ayal Zaks1-0/+8
* ddg.h, ddg.c, modulo-sched.c: New files. * cfglayout.c (duplicate_insn_chain): Remove "static" and push internals to "dupicate_insn". (duplicate_insn): New function. * cfglayout.h (duplicate_insn_chain, duplicate_insn): New declarations. * common.opt (fmodulo-sched): New flag. * df.c (df_bb_regno_last_use_find, df_bb_regno_first_def_find): Remove static and forward declaration. (df_find_def, df_reg_used, df_bb_regno_last_def_find): New functions. * df.h (df_bb_regno_last_use_find, df_bb_regno_first_def_find, df_bb_regno_last_def_find, df_find_def, df_reg_used): New declarations. * flags.h (flag_modulo_sched): New flag. * opts.c (common_handle_option): Handle modulo-sched flag. * params.def (max-sms-loop-number, sms-max-ii-factor, sms-dfa-history, sms-loop-average-count-threshold): New parameters. * params.h (MAX_SMS_LOOP_NUMBER, SMS_MAX_II_FACTOR, SMS_DFA_HISTORY, SMS_LOOP_AVERAGE_COUNT_THRESHOLD): New parameters. * passes.c ("sms", "sms-vcg"): New dumps. (rest_of_handle_sched): Call sms_schedule. * rtl.h (sms_schedule): New declaration. * timevar.def (TV_SMS): New. * toplev.c (flag_modulo_sched): Initialize. (f_options): Handle -fmodulo-sched option. * docs/invoke.texi: Document -fmodulo-sched & -dm options. * docs/passes.texi: Document new SMS pass.f toplev.c doc/invoke.texi doc/passes.texi Co-Authored-By: Mostafa Hagog <mustafa@il.ibm.com> From-SVN: r82235
2004-05-13Merge tree-ssa-20020619-branch into mainline.Diego Novillo1-0/+4
From-SVN: r81764
2004-03-15c-incpath.c, [...]: Update copyright.Kazu Hirata1-1/+1
gcc/ * c-incpath.c, c-incpath.h, c-pch.c, c.opt, cppexp.c, et-forest.h, genattr.c, ggc-none.c, hosthooks-def.h, hosthooks.h, params.h, ra-colorize.c, web.c, config/darwin-c.c, config/alpha/freebsd.h, config/arm/pe.c, config/avr/avr-protos.h, config/avr/avr.md, config/fr30/fr30-protos.h, config/fr30/fr30.md, config/h8300/fixunssfsi.c, config/i386/darwin.h, config/i386/freebsd.h, config/i386/freebsd64.h, config/ia64/hpux.h, config/ia64/unwind-ia64.c, config/ip2k/libgcc.S, config/m32r/xm-m32r.h, config/mmix/mmix-modes.def, config/ns32k/netbsd.h, config/ns32k/ns32k.md, config/pa/pa64-hpux.h, config/pa/pa64-regs.h, config/rs6000/aix41.h, config/rs6000/aix43.h, config/rs6000/host-darwin.c, config/sparc/aout.h, config/sparc/freebsd.h, config/sparc/litecoff.h, config/vax/vax-protos.h, doc/hostconfig.texi, doc/include/gcc-common.texi: Update copyright. gcc/cp/ * cp-lang.c, ptree.c: Update copyright. From-SVN: r79506
2004-03-03common.opt: Add description of the new -fgcse-after-reload flag.Mostafa Hagog1-0/+4
2004-03-03 Mostafa Hagog <mustafa@il.ibm.com> * common.opt: Add description of the new -fgcse-after-reload flag. * flags.h (flag_gcse_after_reload): Declaration of global variable. * gcse.c (reg_used_on_edge ,reg_set_between_after_reload_p, reg_used_between_after_reload_p, rtx get_avail_load_store_reg, is_jump_table_basic_block, bb_has_well_behaved_predecessors, get_bb_avail_insn, hash_scan_set_after_reload, compute_hash_table_after_reload, eliminate_partially_redundant_loads, gcse_after_reload, get_bb_avail_insn): New functions to implement gcse-after-reload. (gcse_after_reload_main): New function, the main entry point to gcse-after-reload. * rtl.h (gcse_after_reload_main): Declaration of the new function. * opts.c (common_handle_option): Handle the -fgcse-after-reload flag. * toplev.c (flag_gcse_after_reload): Initialization. * passes.c (rest_of_handl_gcse2): Call gcse_after_reload_main. * params.def (PARAM_GCSE_AFTER_RELOAD_PARTIAL_FRACTION, PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION): New parameters for tuning the gcse after reload optimization. * params.h (GCSE_AFTER_RELOAD_PARTIAL_FRACTION, GCSE_AFTER_RELOAD_CRITICAL_FRACTION): Two macros to access the tuning parameters. * doc/invoke.texi: Documentation for the new flag gcse-after-reload. From-SVN: r78842
2003-06-01genrecog.c: Use ISO C90 prototypes.Andreas Jaeger1-5/+3
* genrecog.c: Use ISO C90 prototypes. (nodes_identical): Correct declaration to match prototype. (maybe_both_true): Likewise. (merge_trees): Likewise. * genpeep.c (gen_peephole): Remove #if 0 code. Use ISO C90 prototypes. * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code. Remove #if 0'ed function simplify_by_alternatives. (optimize_attrs): Remove #if 0'ed code. Remove ^L. Use ISO C90 prototypes. (make_canonical): Remove #if 0'ed code. (convert_const_symbol_ref): Remove #if 0'ed function. * gen-protos.c (main): Check for argument. * rtl.h: Use ISO C90 prototypes for functions from lists.c. * params.h: Use ISO C90 prototypes. * params.c: Likewise. * intl.c: Likewise. * intl.h: Likewise. * lists.c: Likewise. * errors.c: Likewise. * errors.h: Likewise. * gencodes.c: Likewise. * genpreds.c: Likewise. * genattr.c: Likewise. * gen-protos.c: Likewise. * genflags.c: Likewise * genconditions.c: Likewise. * genautomata.c: Likewise. * gencheck.c: Likewise. * genconfig.c: Likewise. * genconstants.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * gengenrtl.c: Likewise. * gengtype.c: Likewise. * gengtype.h: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * gensupport.c: Likewise. * gensupport.h: Likewise. From-SVN: r67296
2003-03-02params.def: Introduce parameter max-inline-insns-rtl for a separate limit ↵Kurt Garloff1-0/+4
for the RTL inliner. 2003-03-02 Kurt Garloff <garloff@suse.de> * params.def: Introduce parameter max-inline-insns-rtl for a separate limit for the RTL inliner. * params.h: Likewise. * integrate.c (function_cannot_inline_p): Use it. * toplev.c (decode_f_option): Set multiple parameters controlling inlining with -finline-limit. * params.def: Fix orthographic and typographic errors. * doc/invoke.texi: Document parameters controlling inlining and the way -finline-limit sets multiple of them. * tree.h (struct tree_decl): Introduce inlined_function_flag, recording whether the function became eligible for inlining by a compiler flag rather than the declaration. Provide DID_INLINE_FUNC macro to access it. * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC. * cp/decl.c (grokfndecl): Likewise. * toplev.c (rest_of_compilation): Likewise. * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC. * print-tree.c (print_node): Report it. * params.def: Introduce new max-inline-insns-auto limit. * params.h: Likewise. * tree-inline.c (inlinable_function_p): Apply it to functions with DID_INLINE_FUNC set. * toplev.c (decode_f_option): Initialize it from -finline-limit value. * doc/invoke.texi: Document new parameter. From-SVN: r63688
2002-05-20params.c: Fix formatting.Kazu Hirata1-3/+3
* params.c: Fix formatting. * params.h: Likewise. * predict.c: Likewise. * prefix.c: Likewise. * print-rtl.c: Likewise. * print-tree.c: Likewise. * profile.c: Likewise. From-SVN: r53670
2002-04-27tree-inline.c (inlinable_function_p): Improve heuristics by using a smoother ↵Kurt Garloff1-0/+6
function to cut down allowable inlinable... * tree-inline.c (inlinable_function_p): Improve heuristics by using a smoother function to cut down allowable inlinable size. * param.def: Add parameters max-inline-insns-single, max-inline-slope, min-inline-insns that determine the exact shape of the above function. * param.h: Likewise. From-SVN: r52832
2002-03-14Add --param max-unrolled-insns=<n> supportMichael Meissner1-0/+2
From-SVN: r50787
2002-01-23params.h: Rename arguments of DEFPARAM so that it will be recognized as a ↵Zack Weinberg1-2/+2
translation keyword. * params.h: Rename arguments of DEFPARAM so that it will be recognized as a translation keyword. From-SVN: r49122
2001-10-07builtins.c (expand_builtin_setjmp_receiver): Const-ify.Kaveh R. Ghazi1-2/+2
* builtins.c (expand_builtin_setjmp_receiver): Const-ify. * c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length): Likewise. * c-dump.c (dump_option_value_info): Likewise. * c-format.c (format_length_info, format_char_info, format_flag_spec, format_flag_pair, format_kind_info): Likewise. * collect2.c (names): Likewise. * cppdefault.h (default_include): Likewise. * cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise. * flow.c (life_analysis): Likewise. * gcc.c (dir_separator_str, modify_target, option_map, target_option_translations, spec_list_1, extra_specs_1, init_spec): Likewise. * gcov.c (gcov_version_string): Likewise. * genattr.c (write_units): Likewise. * genattrtab.c (make_length_attrs, write_function_unit_info): Likewise. * gengenrtl.c (rtx_definition, defs): Likewise. * genrecog.c (pred_table): Likewise. * global.c (global_alloc): Likewise. * lcm.c (optimize_mode_switching): Likewise. * local-alloc.c (find_free_reg): Likewise. * params.h (param_info): Likewise. * predict.c (predictor_info): Likewise. * protoize.c (unexpansion_struct): Likewise. * real.c (bmask): Likewise. * recog.h (insn_operand_data, insn_data): Likewise. * regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise. * stmt.c (expand_nl_goto_receiver): Likewise. * toplev.c (da, debug_args, lang_opt, documented_lang_options, target_switches, target_options): Likewise. * tradcif.y (token, tokentab2, yylex): Likewise. * tree.h (attribute_spec): Likewise. * alpha.c (override_options, alpha_lookup_xfloating_lib_func): Likewise. * arc.c (arc_output_function_epilogue): Likewise. * arm.c (processors, all_cores, all_architectures, arm_override_options, isr_attribute_arg, isr_attribute_args, arm_isr_value): Likewise. * avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc): Likewise. * c4x.c (c4x_int_reglist): Likewise. * d30v.c (override_options): Likewise. * h8300.c (shift_insn): Likewise. * i386.c (size_cost, i386_cost, i486_cost, pentium_cost, pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost, ix86_expand_sse_comi, ix86_expand_sse_compare, override_options, builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg, ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise. * i386.h (processor_costs, ix86_cost): Likewise. * m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise. * m68hc11.h (processor_costs, m68hc11_cost): Likewise. * m68k.c (codes_68881, codes_FPA): Likewise. * m88k.c (mode_from_align, max_from_align, all_from_align, best_from_align, m_options): Likewise. * m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise. * mcore.c (mode_from_align): Likewise. * mips/elf64.h (UNIQUE_SECTION): Likewise. * mips/iris6gld.h (UNIQUE_SECTION): Likewise. * mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise. * mips.h (mips_regno_to_class): Likewise. * ns32k.c (scales): Likewise. * pa.c (import_string, magic_milli): Likewise. * rs6000.c (alt_reg_names, rs6000_override_options): Likewise. * sparc.c (leaf_reg_remap, sparc_override_options, reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders): Likewise. * sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise. cp: * class.c (build_vtable_entry_ref): Const-ify. * decl.c (predefined_identifier, initialize_predefined_identifiers): Likewise. * init.c (build_new_1): Likewise. * lex.c (cplus_tree_code_type, cplus_tree_code_length, resword): Likewise. f: * bad.c (_ffebad_message_, ffebad_messages_): Const-ify. * bld.c (ffebld_arity_op_): Likewise. * bld.h (ffebld_arity_op_): Likewise. * com.c (ffecom_init_0): Likewise. * intdoc.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_, _ffeintrin_imp_, names, gens, imps, specs, cc_pair, cc_descriptions, cc_summaries): Likewise. * intrin.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_, _ffeintrin_imp_, ffeintrin_names_, ffeintrin_gens_, ffeintrin_imps_, ffeintrin_specs_): Likewise. java: * jcf-io.c (format_uint): Const-ify. * lang.c (java_tree_code_type, java_tree_code_length): Likewise. * lex.c (java_get_line_col): Likewise. * parse.y (build_incdec): Likewise. From-SVN: r46062
2001-08-22Makefile.in, [...]: replace "GNU CC" with "GCC".Lars Brinkhoff1-12/+12
* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c, bitmap.h, builtin-types.def, builtins.c, builtins.def, c-aux-info.c, c-common.c, c-common.def, c-common.h, c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c, c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in, c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c, caller-save.c, calls.c, collect2.c, collect2.h, combine.c, conditions.h, config.gcc, configure.frag, configure.in, conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c, cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h, dependence.c, df.c, df.h, diagnostic.c, diagnostic.h, doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c, dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c, emit-rtl.c, errors.c, errors.h, except.c, except.h, exgettext, explow.c, expmed.c, expr.c, expr.h, final.c, fixproto, flags.h, flow.c, fold-const.c, fp-test.c, function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp, gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c, gencheck.c, gencodes.c, genconfig.c, genemit.c, genextract.c, genflags.c, gengenrtl.c, genmultilib, genopinit.c, genoutput.c, genpeep.c, genrecog.c, gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c, ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c, graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h, gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h, hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h, integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c, libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h, machmode.def, machmode.h, main.c, mbchar.c, mbchar.h, mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk, mkmap-symver.awk, optabs.c, output.h, params.c, params.def, params.h, predict.c, predict.def, predict.h, prefix.c, prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c, read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c, regclass.c, regmove.c, regrename.c, regs.h, reload.c, reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c, rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h, sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c, sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c, stringpool.c, system.h, timevar.c, timevar.def, timevar.h, tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h, tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h, unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h, unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c, xcoffout.h: replace "GNU CC" with "GCC". From-SVN: r45105
2001-07-26params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to limit length of ↵Andrew MacLeod1-0/+2
dependancy flush list. 2001-07-26 Andrew MacLeod <amacleod@redhat.com> * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to limit length of dependancy flush list. * params.h (MAX_PENDING_LIST_LENGTH): Define. * sched-int.h (struct deps): Add pending_flush_length field. * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now has 1 element in it. (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH. (sched_analyze): After a jump, if the pending memory flush list is too large, flush the pending lists. (init_deps): Initialize pending_flush_length to 0. * doc/invoke.texi (max_pending_list_length): Document parameter. From-SVN: r44398
2001-06-27invoke.texi: Add description of max-gcse-passes param.Daniel Berlin1-1/+2
2001-06-26 Daniel Berlin <dan@cgsoftware.com> * doc/invoke.texi: Add description of max-gcse-passes param. * gcse.c (gcse_main): Use MAX_GCSE_PASSES instead of MAX_PASSES. (MAX_PASSES): Remove now unneeded macro. * params.h (MAX_GCSE_PASSES): New macro, to get parameter value of max-gcse-passes param. * params.def (PARAM_MAX_GCSE_PASSES): New parameter, controlling maximum number of GCSE passes to run. Defaults to 1 (which is what MAX_PASSES in gcse.c used to be). From-SVN: r43610
2001-05-25Standardize header guards.Richard Henderson1-3/+3
From-SVN: r42615
2001-05-01invoke.texi (Optimize Options): Add documentation for `--param ↵Jeffrey Oldham1-0/+2
max-delay-slot-insn-search' and `--param... 2001-05-01 Jeffrey Oldham <oldham@codesourcery.com> * invoke.texi (Optimize Options): Add documentation for `--param max-delay-slot-insn-search' and `--param max-delay-slot-live-search' and reorder --param section. * params.def: Modify initial comment. * params.h (param_info): Add `help' member. * toplev.c (lang_independent_params): Include `help' description. (display_help): Print --param parameters. From-SVN: r41734
2001-04-11Makefile.in (gcse.o): Depend on params.h.Mark Mitchell1-0/+2
* Makefile.in (gcse.o): Depend on params.h. * gcse.c: Include params.h. (gcse_main): Don't do GCSE if doing so will take inordinate amounts of memory. * params.def (PARAM_MAX_GCSE_MEMORY): New parameter. * params.h (MAX_GCSE_MEMORY): New macro. From-SVN: r41260
2001-02-23Makefile.in (resource.o): Add params.h dependence.Jeffrey Oldham1-0/+2
2001-02-23 Jeffrey Oldham <oldham@codesourcery.com> * Makefile.in (resource.o): Add params.h dependence. * params.def (MAX_DELAY_SLOT_LIVE_SEARCH): New parameter. * params.h (MAX_DELAY_SLOT_LIVE_SEARCH): Likewise. * resource.c: Add dependence on params.h. (current_live_regs): Fix explanatory comment. (find_basic_block): Add new parameter to permit limiting search for a BARRIER. (mark_target_live_regs): Add new argument to find_basic_block call. (incr_ticks_for_insn): Likewise. From-SVN: r40001
2001-02-21Makefile.in (reorg.o): Add params.h dependence.Jeffrey Oldham1-1/+6
2001-02-21 Jeffrey Oldham <oldham@codesourcery.com> * Makefile.in (reorg.o): Add params.h dependence. * params.def: Fix typographical error in comment. (MAX_DELAY_SLOT_INSN_SEARCH): New parameter. * params.h: Modify introductory comment. (MAX_DELAY_SLOT_INSN_SEARCH): New parameter. * reorg.c: Add dependence on params.h. (redundant_insn): Add parameterized throttle for search. (fill_simple_delay_slots): Add a comment explaining a variable. Move conditional out of loop, simplifying code. (fill_eager_delay_slots): Fix typographical error in comment. From-SVN: r39948
2001-02-14Makefile.in (toplev.o): Depend on params.h.Mark Mitchell1-0/+85
* Makefile.in (toplev.o): Depend on params.h. (intergate.o): Likewise. (params.o): New target. * flags.h (inline_max_insns): Remove. * integrate.c: Include params.h. Use MAX_INLINE_INSNS instead of inline_max_insns. * params.c: New file. * params.h: Likewise. * params.def: Likewise. * toplev.c: Include params.h. (lang_independent_params): New variable. (decode_f_option): Use the param machinery instead of setting max_inline_insns. (independent_decode_option): Handle "--param name=value". (main): Register language-independent parameters. From-SVN: r39683