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 |