OSDN Git Service

* MAINTAINERS: Add myself as a maintainer for the RX port.
[pf3gnuchains/gcc-fork.git] / gcc / params.def
index 1915727..21cfbdc 100644 (file)
@@ -1,5 +1,5 @@
 /* params.def - Run-time parameters.
-   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 
+   Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
    Free Software Foundation, Inc.
    Written by Mark Mitchell <mark@codesourcery.com>.
 
@@ -38,61 +38,23 @@ along with GCC; see the file COPYING3.  If not see
 
    Be sure to add an entry to invoke.texi summarizing the parameter.  */
 
-/* The maximum number of fields in a variable with only implicit uses
-   for which structure aliasing will consider trying to track each
-   field.  The default is 5.  */
-DEFPARAM (PARAM_SALIAS_MAX_IMPLICIT_FIELDS,
-         "salias-max-implicit-fields",
-         "The maximum number of fields in a structure variable without direct structure accesses that GCC will attempt to track separately",
-         5, 0, 0)
-
-/* The maximum number of array elements structure aliasing will decompose
-   an array for.  The default is 4.  */
-DEFPARAM (PARAM_SALIAS_MAX_ARRAY_ELEMENTS,
-         "salias-max-array-elements",
-         "The maximum number of elements in an array for wich we track its elements separately",
-         4, 0, 0)
-
-/* 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 hotest structure counts.
+/* 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 hotest 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,
          "struct-reorg-cold-struct-ratio",
-         "The threshold ratio between current and hotest structure counts",
+         "The threshold ratio between current and hottest structure counts",
          10, 0, 100)
 
+/* When branch is predicted to be taken with probability lower than this
+   threshold (in percent), then it is considered well predictable. */
+DEFPARAM (PARAM_PREDICTABLE_BRANCH_OUTCOME,
+         "predictable-branch-outcome",
+         "Maximal esitmated outcome of branch considered predictable",
+         2, 0, 50)
+
 /* The single function inlining limit. This is the maximum size
    of a function counted in internal gcc instructions (not in
    real machine instructions) that is eligible for inlining
@@ -108,7 +70,7 @@ DEFPARAM (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO,
 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).
@@ -120,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",
@@ -147,6 +109,14 @@ 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,
@@ -208,10 +178,14 @@ DEFPARAM(PARAM_INLINE_UNIT_GROWTH,
         "inline-unit-growth",
         "how much can given compilation unit grow because of the inlining (in percent)",
         30, 0, 0)
-DEFPARAM(PARAM_INLINE_CALL_COST,
-        "inline-call-cost",
-        "expense of call operation relative to ordinary arithmetic operations",
-        12, 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)",
+        10, 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",
@@ -227,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:
@@ -514,10 +484,6 @@ DEFPARAM(PARAM_MAX_CSELIB_MEMORY_LOCATIONS,
         "max-cselib-memory-locations",
         "The maximum memory locations recorded by cselib",
         500, 0, 0)
-DEFPARAM(PARAM_MAX_FLOW_MEMORY_LOCATIONS,
-        "max-flow-memory-locations",
-        "The maximum memory locations recorded by flow",
-        100, 0, 0)
 
 #ifdef ENABLE_GC_ALWAYS_COLLECT
 # define GGC_MIN_EXPAND_DEFAULT 0
@@ -545,16 +511,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",
@@ -565,6 +521,16 @@ DEFPARAM(PARAM_MAX_SCHED_REGION_INSNS,
         "The maximum number of insns in a region to be considered for interblock scheduling",
         100, 0, 0)
 
+DEFPARAM(PARAM_MAX_PIPELINE_REGION_BLOCKS,
+        "max-pipeline-region-blocks",
+        "The maximum number of blocks in a region to be considered for interblock scheduling",
+        15, 0, 0)
+
+DEFPARAM(PARAM_MAX_PIPELINE_REGION_INSNS,
+        "max-pipeline-region-insns",
+        "The maximum number of insns in a region to be considered for interblock scheduling",
+        200, 0, 0)
+
 DEFPARAM(PARAM_MIN_SPEC_PROB,
          "min-spec-prob",
          "The minimum probability of reaching a source block for interblock speculative scheduling",
@@ -585,6 +551,26 @@ DEFPARAM(PARAM_SCHED_SPEC_PROB_CUTOFF,
          "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled.",
          40, 0, 100)
 
+DEFPARAM(PARAM_SELSCHED_MAX_LOOKAHEAD,
+         "selsched-max-lookahead",
+         "The maximum size of the lookahead window of selective scheduling",
+         50, 0, 0)
+
+DEFPARAM(PARAM_SELSCHED_MAX_SCHED_TIMES,
+         "selsched-max-sched-times",
+         "Maximum number of times that an insn could be scheduled",
+         2, 0, 0)
+
+DEFPARAM(PARAM_SELSCHED_INSNS_TO_RENAME,
+         "selsched-insns-to-rename",
+         "Maximum number of instructions in the ready list that are considered eligible for renaming",
+         2, 0, 0)
+
+DEFPARAM (PARAM_SCHED_MEM_TRUE_DEP_COST,
+         "sched-mem-true-dep-cost",
+         "Minimal distance between possibly conflicting store and load",
+         1, 0, 0)
+
 DEFPARAM(PARAM_MAX_LAST_VALUE_RTL,
         "max-last-value-rtl",
         "The maximum number of RTL nodes that can be recorded as combiner's last value",
@@ -652,7 +638,7 @@ DEFPARAM (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS,
 DEFPARAM (PARAM_MAX_FIELDS_FOR_FIELD_SENSITIVE,
           "max-fields-for-field-sensitive",
          "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable",
-         100, 0, 0)
+         0, 0, 0)
 
 DEFPARAM(PARAM_MAX_SCHED_READY_INSNS,
         "max-sched-ready-insns",
@@ -723,6 +709,66 @@ DEFPARAM (PARAM_SCCVN_MAX_SCC_SIZE,
          "Maximum size of a SCC before SCCVN stops processing a function",
          10000, 10, 0)
 
+DEFPARAM (PARAM_IRA_MAX_LOOPS_NUM,
+         "ira-max-loops-num",
+         "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",
+         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.  */
+
+DEFPARAM (PARAM_SWITCH_CONVERSION_BRANCH_RATIO,
+         "switch-conversion-max-branch-ratio",
+         "The maximum ratio between array size and switch branches for "
+         "a switch conversion to take place",
+         8, 1, 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",
+         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 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: