| Index: gcc/gcc/params.def
|
| diff --git a/gcc/gcc/params.def b/gcc/gcc/params.def
|
| index 3f7b2e77ed65cc7e9aea45fbaf6042aa353591c0..35650ff91b74108c2ced80a02c1e95377001a42a 100644
|
| --- a/gcc/gcc/params.def
|
| +++ b/gcc/gcc/params.def
|
| @@ -1,5 +1,5 @@
|
| /* params.def - Run-time parameters.
|
| - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
| + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
| Free Software Foundation, Inc.
|
| Written by Mark Mitchell <mark@codesourcery.com>.
|
|
|
| @@ -24,7 +24,7 @@ along with GCC; see the file COPYING3. If not see
|
|
|
| - The enumeral corresponding to this parameter.
|
|
|
| - - The name that can be used to set this parameter using the
|
| + - The name that can be used to set this parameter using the
|
| command-line option `--param <name>=<value>'.
|
|
|
| - A help string explaining how the parameter is used.
|
| @@ -38,39 +38,9 @@ along with GCC; see the file COPYING3. If not see
|
|
|
| Be sure to add an entry to invoke.texi summarizing the parameter. */
|
|
|
| -/* The maximum structure size at which the scalar replacement of
|
| - aggregates (SRA) pass will perform block copies. The default
|
| - value, 0, implies that GCC will select the most appropriate size
|
| - itself. */
|
| -DEFPARAM (PARAM_SRA_MAX_STRUCTURE_SIZE,
|
| - "sra-max-structure-size",
|
| - "The maximum structure size (in bytes) for which GCC will "
|
| - "use by-element copies",
|
| - 0, 0, 0)
|
| -
|
| -/* The maximum number of structure fields which the SRA pass will
|
| - instantiate to avoid block copies. The default value, 0, implies
|
| - that GCC will select the appropriate value itself. */
|
| -DEFPARAM (PARAM_SRA_MAX_STRUCTURE_COUNT,
|
| - "sra-max-structure-count",
|
| - "The maximum number of structure fields for which GCC will "
|
| - "use by-element copies",
|
| - 0, 0, 0)
|
| -
|
| -/* The ratio between instantiated fields and the complete structure
|
| - size. We say that if the ratio of the number of bytes in
|
| - instantiated fields to the number of bytes in the complete
|
| - structure exceeds this parameter, or if the number of instantiated
|
| - fields to the total number of fields exceeds this parameter, then
|
| - block copies are not used. The default is 75%. */
|
| -DEFPARAM (PARAM_SRA_FIELD_STRUCTURE_RATIO,
|
| - "sra-field-structure-ratio",
|
| - "The threshold ratio between instantiated fields and the total structure size",
|
| - 75, 0, 100)
|
| -
|
| /* The threshold ratio between current and hottest structure counts.
|
| - We say that if the ratio of the current structure count,
|
| - calculated by profiling, to the hottest structure count
|
| + We say that if the ratio of the current structure count,
|
| + calculated by profiling, to the hottest structure count
|
| in the program is less than this parameter, then structure
|
| reorganization is not applied. The default is 10%. */
|
| DEFPARAM (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO,
|
| @@ -82,7 +52,7 @@ DEFPARAM (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO,
|
| threshold (in percent), then it is considered well predictable. */
|
| DEFPARAM (PARAM_PREDICTABLE_BRANCH_OUTCOME,
|
| "predictable-branch-outcome",
|
| - "Maximal esitmated outcome of branch considered predictable",
|
| + "Maximal estimated outcome of branch considered predictable",
|
| 2, 0, 50)
|
|
|
| /* The single function inlining limit. This is the maximum size
|
| @@ -94,13 +64,13 @@ DEFPARAM (PARAM_PREDICTABLE_BRANCH_OUTCOME,
|
| definition for C++) are affected by this.
|
| There are more restrictions to inlining: If inlined functions
|
| call other functions, the already inlined instructions are
|
| - counted and once the recursive inline limit (see
|
| + counted and once the recursive inline limit (see
|
| "max-inline-insns" parameter) is exceeded, the acceptable size
|
| gets decreased. */
|
| DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
|
| "max-inline-insns-single",
|
| "The maximum number of instructions in a single function eligible for inlining",
|
| - 450, 0, 0)
|
| + 400, 0, 0)
|
|
|
| /* The single function inlining limit for functions that are
|
| inlined by virtue of -finline-functions (-O3).
|
| @@ -112,7 +82,7 @@ DEFPARAM (PARAM_MAX_INLINE_INSNS_SINGLE,
|
| DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO,
|
| "max-inline-insns-auto",
|
| "The maximum number of instructions when automatically inlining",
|
| - 90, 0, 0)
|
| + 50, 0, 0)
|
|
|
| DEFPARAM (PARAM_MAX_INLINE_INSNS_RECURSIVE,
|
| "max-inline-insns-recursive",
|
| @@ -139,13 +109,21 @@ DEFPARAM (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY,
|
| "Inline recursively only when the probability of call being executed exceeds the parameter",
|
| 10, 0, 0)
|
|
|
| +/* Limit of iterations of early inliner. This basically bounds number of
|
| + nested indirect calls early inliner can resolve. Deeper chains are still
|
| + handled by late inlining. */
|
| +DEFPARAM (PARAM_EARLY_INLINER_MAX_ITERATIONS,
|
| + "max-early-inliner-iterations",
|
| + "The maximum number of nested indirect inlining performed by early inliner",
|
| + 10, 0, 0)
|
| +
|
| /* Limit the number of expansions created by the variable expansion
|
| optimization to avoid register pressure. */
|
| DEFPARAM (PARAM_MAX_VARIABLE_EXPANSIONS,
|
| "max-variable-expansions-in-unroller",
|
| "If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling",
|
| 1, 0, 0)
|
| -
|
| +
|
| /* Limit loop autovectorization to loops with large enough iteration count. */
|
| DEFPARAM (PARAM_MIN_VECT_LOOP_BOUND,
|
| "min-vect-loop-bound",
|
| @@ -174,10 +152,10 @@ DEFPARAM(PARAM_MAX_DELAY_SLOT_LIVE_SEARCH,
|
| "The maximum number of instructions to consider to find accurate live register information",
|
| 333, 0, 0)
|
|
|
| -/* This parameter limits the number of branch elements that the
|
| +/* This parameter limits the number of branch elements that the
|
| scheduler will track anti-dependencies through without resetting
|
| - the tracking mechanism. Large functions with few calls or barriers
|
| - can generate lists containing many 1000's of dependencies. Generally
|
| + the tracking mechanism. Large functions with few calls or barriers
|
| + can generate lists containing many 1000's of dependencies. Generally
|
| the compiler either uses all available memory, or runs for far too long. */
|
| DEFPARAM(PARAM_MAX_PENDING_LIST_LENGTH,
|
| "max-pending-list-length",
|
| @@ -198,16 +176,16 @@ DEFPARAM(PARAM_LARGE_UNIT_INSNS,
|
| 10000, 0, 0)
|
| DEFPARAM(PARAM_INLINE_UNIT_GROWTH,
|
| "inline-unit-growth",
|
| - "how much can given compilation unit grow because of the inlining (in percent)",
|
| + "How much can given compilation unit grow because of the inlining (in percent)",
|
| 30, 0, 0)
|
| DEFPARAM(PARAM_IPCP_UNIT_GROWTH,
|
| "ipcp-unit-growth",
|
| - "how much can given compilation unit grow because of the interprocedural constant propagation (in percent)",
|
| + "How much can given compilation unit grow because of the interprocedural constant propagation (in percent)",
|
| 10, 0, 0)
|
| -DEFPARAM(PARAM_INLINE_CALL_COST,
|
| - "inline-call-cost",
|
| - "expense of call operation relative to ordinary arithmetic operations",
|
| - 12, 0, 0)
|
| +DEFPARAM(PARAM_EARLY_INLINING_INSNS,
|
| + "early-inlining-insns",
|
| + "Maximal estimated growth of function body caused by early inlining of single call",
|
| + 8, 0, 0)
|
| DEFPARAM(PARAM_LARGE_STACK_FRAME,
|
| "large-stack-frame",
|
| "The size of stack frame to be considered large",
|
| @@ -223,11 +201,7 @@ DEFPARAM(PARAM_MAX_GCSE_MEMORY,
|
| "max-gcse-memory",
|
| "The maximum amount of memory to be allocated by GCSE",
|
| 50 * 1024 * 1024, 0, 0)
|
| -/* The number of repetitions of copy/const prop and PRE to run. */
|
| -DEFPARAM(PARAM_MAX_GCSE_PASSES,
|
| - "max-gcse-passes",
|
| - "The maximum number of passes to make when doing GCSE",
|
| - 1, 1, 0)
|
| +
|
| /* This is the threshold ratio when to perform partial redundancy
|
| elimination after reload. We perform partial redundancy elimination
|
| when the following holds:
|
| @@ -247,7 +221,7 @@ DEFPARAM(PARAM_GCSE_AFTER_RELOAD_CRITICAL_FRACTION,
|
| 10, 0, 0)
|
| /* This parameter limits the number of insns in a loop that will be unrolled,
|
| and by how much the loop is unrolled.
|
| -
|
| +
|
| This limit should be at most half of the peeling limits: loop unroller
|
| decides to not unroll loops that iterate fewer than 2*number of allowed
|
| unrollings and thus we would have loops that are neither peeled or unrolled
|
| @@ -292,6 +266,11 @@ DEFPARAM(PARAM_MAX_ONCE_PEELED_INSNS,
|
| "max-once-peeled-insns",
|
| "The maximum number of insns of a peeled loop that rolls only once",
|
| 400, 0, 0)
|
| +/* The maximum depth of a loop nest we completely peel. */
|
| +DEFPARAM(PARAM_MAX_UNROLL_ITERATIONS,
|
| + "max-completely-peel-loop-nest-depth",
|
| + "The maximum depth of a loop nest we completely peel",
|
| + 8, 0, 0)
|
|
|
| /* The maximum number of insns of an unswitched loop. */
|
| DEFPARAM(PARAM_MAX_UNSWITCH_INSNS,
|
| @@ -355,7 +334,7 @@ DEFPARAM (PARAM_ALIGN_LOOP_ITERATIONS,
|
| For functions containing one loop with large known number of iterations
|
| and other loops having unbounded loops we would end up predicting all
|
| the other loops cold that is not usually the case. So we need to artificially
|
| - flatten the profile.
|
| + flatten the profile.
|
|
|
| We need to cut the maximal predicted iterations to large enough iterations
|
| so the loop appears important, but safely within HOT_BB_COUNT_FRACTION
|
| @@ -537,16 +516,6 @@ DEFPARAM(PARAM_MAX_RELOAD_SEARCH_INSNS,
|
| "The maximum number of instructions to search backward when looking for equivalent reload",
|
| 100, 0, 0)
|
|
|
| -DEFPARAM(PARAM_MAX_ALIASED_VOPS,
|
| - "max-aliased-vops",
|
| - "The maximum number of virtual operators that a function is allowed to have before triggering memory partitioning heuristics",
|
| - 100, 0, 0)
|
| -
|
| -DEFPARAM(PARAM_AVG_ALIASED_VOPS,
|
| - "avg-aliased-vops",
|
| - "The average number of virtual operators that memory statements are allowed to have before triggering memory partitioning heuristics",
|
| - 1, 0, 0)
|
| -
|
| DEFPARAM(PARAM_MAX_SCHED_REGION_BLOCKS,
|
| "max-sched-region-blocks",
|
| "The maximum number of blocks in a region to be considered for interblock scheduling",
|
| @@ -628,7 +597,7 @@ DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,
|
|
|
| PARAM_MIN_VIRTUAL_MAPPINGS specifies the minimum number of virtual
|
| mappings that should be registered to trigger the heuristic.
|
| -
|
| +
|
| PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO specifies the ratio between
|
| mappings and symbols. If the number of virtual mappings is
|
| PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO bigger than the number of
|
| @@ -668,7 +637,7 @@ DEFPARAM (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS,
|
| 15, 0, 0)
|
|
|
| /* This is the maximum number of fields a variable may have before the pointer analysis machinery
|
| - will stop trying to treat it in a field-sensitive manner.
|
| + will stop trying to treat it in a field-sensitive manner.
|
| There are programs out there with thousands of fields per structure, and handling them
|
| field-sensitively is not worth the cost. */
|
| DEFPARAM (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE,
|
| @@ -747,14 +716,19 @@ DEFPARAM (PARAM_SCCVN_MAX_SCC_SIZE,
|
|
|
| DEFPARAM (PARAM_IRA_MAX_LOOPS_NUM,
|
| "ira-max-loops-num",
|
| - "max loops number for regional RA",
|
| + "Max loops number for regional RA",
|
| 100, 0, 0)
|
|
|
| DEFPARAM (PARAM_IRA_MAX_CONFLICT_TABLE_SIZE,
|
| "ira-max-conflict-table-size",
|
| - "max size of conflict table in MB",
|
| + "Max size of conflict table in MB",
|
| 1000, 0, 0)
|
|
|
| +DEFPARAM (PARAM_IRA_LOOP_RESERVED_REGS,
|
| + "ira-loop-reserved-regs",
|
| + "The number of registers in each class kept unused by loop invariant motion",
|
| + 2, 0, 0)
|
| +
|
| /* Switch initialization conversion will refuse to create arrays that are
|
| bigger than this parameter times the number of switch branches. */
|
|
|
| @@ -764,13 +738,71 @@ DEFPARAM (PARAM_SWITCH_CONVERSION_BRANCH_RATIO,
|
| "a switch conversion to take place",
|
| 8, 1, 0)
|
|
|
| +/* Size of tiles when doing loop blocking. */
|
| +
|
| +DEFPARAM (PARAM_LOOP_BLOCK_TILE_SIZE,
|
| + "loop-block-tile-size",
|
| + "size of tiles for loop blocking",
|
| + 51, 0, 0)
|
| +
|
| +/* Maximal number of parameters that we allow in a SCoP. */
|
| +
|
| +DEFPARAM (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS,
|
| + "graphite-max-nb-scop-params",
|
| + "maximum number of parameters in a SCoP",
|
| + 10, 0, 0)
|
| +
|
| +/* Maximal number of basic blocks in the functions analyzed by Graphite. */
|
| +
|
| +DEFPARAM (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION,
|
| + "graphite-max-bbs-per-function",
|
| + "maximum number of basic blocks per function to be analyzed by Graphite",
|
| + 100, 0, 0)
|
| +
|
| /* Avoid doing loop invariant motion on very large loops. */
|
|
|
| DEFPARAM (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP,
|
| "loop-invariant-max-bbs-in-loop",
|
| - "max basic blocks number in loop for loop invariant motion",
|
| + "Max basic blocks number in loop for loop invariant motion",
|
| 10000, 0, 0)
|
|
|
| +/* Avoid SLP vectorization of large basic blocks. */
|
| +DEFPARAM (PARAM_SLP_MAX_INSNS_IN_BB,
|
| + "slp-max-insns-in-bb",
|
| + "Maximum number of instructions in basic block to be considered for SLP vectorization",
|
| + 1000, 0, 0)
|
| +
|
| +DEFPARAM (PARAM_MIN_INSN_TO_PREFETCH_RATIO,
|
| + "min-insn-to-prefetch-ratio",
|
| + "Min. ratio of insns to prefetches to enable prefetching for "
|
| + "a loop with an unknown trip count",
|
| + 10, 0, 0)
|
| +
|
| +DEFPARAM (PARAM_PREFETCH_MIN_INSN_TO_MEM_RATIO,
|
| + "prefetch-min-insn-to-mem-ratio",
|
| + "Min. ratio of insns to mem ops to enable prefetching in a loop",
|
| + 3, 0, 0)
|
| +
|
| +/* Set maximum hash table size for var tracking. */
|
| +
|
| +DEFPARAM (PARAM_MAX_VARTRACK_SIZE,
|
| + "max-vartrack-size",
|
| + "Max. size of var tracking hash tables",
|
| + 50000000, 0, 0)
|
| +
|
| +/* Set minimum insn uid for non-debug insns. */
|
| +
|
| +DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID,
|
| + "min-nondebug-insn-uid",
|
| + "The minimum UID to be used for a nondebug insn",
|
| + 0, 1, 0)
|
| +
|
| +DEFPARAM (PARAM_IPA_SRA_PTR_GROWTH_FACTOR,
|
| + "ipa-sra-ptr-growth-factor",
|
| + "Maximum allowed growth of size of new parameters ipa-sra replaces "
|
| + "a pointer to an aggregate with",
|
| + 2, 0, 0)
|
| +
|
| /*
|
| Local variables:
|
| mode:c
|
|
|