+ 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",
+ 10, 0, 0)
+
+DEFPARAM(PARAM_MAX_SCHED_REGION_INSNS,
+ "max-sched-region-insns",
+ "The maximum number of insns in a region to be considered for interblock scheduling",
+ 100, 0, 0)
+
+DEFPARAM(PARAM_MIN_SPEC_PROB,
+ "min-spec-prob",
+ "The minimum probability of reaching a source block for interblock speculative scheduling",
+ 40, 0, 0)
+
+DEFPARAM(PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS,
+ "max-sched-extend-regions-iters",
+ "The maximum number of iterations through CFG to extend regions",
+ 0, 0, 0)
+
+DEFPARAM(PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
+ "max-sched-insn-conflict-delay",
+ "The maximum conflict delay for an insn to be considered for speculative motion",
+ 3, 1, 10)
+
+DEFPARAM(PARAM_SCHED_SPEC_PROB_CUTOFF,
+ "sched-spec-prob-cutoff",
+ "The minimal probability of speculation success (in percents), so that speculative insn will be scheduled.",
+ 40, 0, 100)
+
+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",
+ 10000, 0, 0)
+
+/* INTEGER_CST nodes are shared for values [{-1,0} .. N) for
+ {signed,unsigned} integral types. This determines N.
+ Experimentation shows 256 to be a good value. */
+DEFPARAM (PARAM_INTEGER_SHARE_LIMIT,
+ "integer-share-limit",
+ "The upper bound for sharing integer constants",
+ 256, 2, 2)
+
+/* Incremental SSA updates for virtual operands may be very slow if
+ there is a large number of mappings to process. In those cases, it
+ is faster to rewrite the virtual symbols from scratch as if they
+ had been recently introduced. This heuristic cannot be applied to
+ SSA mappings for real SSA names, only symbols kept in FUD chains.
+
+ 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
+ virtual symbols to be updated, then the updater switches to a full
+ update for those symbols. */
+DEFPARAM (PARAM_MIN_VIRTUAL_MAPPINGS,
+ "min-virtual-mappings",
+ "Minimum number of virtual mappings to consider switching to full virtual renames",
+ 100, 0, 0)
+
+DEFPARAM (PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO,
+ "virtual-mappings-ratio",
+ "Ratio between virtual mappings and virtual symbols to do full virtual renames",
+ 3, 0, 0)
+
+DEFPARAM (PARAM_SSP_BUFFER_SIZE,
+ "ssp-buffer-size",
+ "The lower bound for a buffer to be considered for stack smashing protection",
+ 8, 1, 0)
+
+/* When we thread through a block we have to make copies of the
+ statements within the block. Clearly for large blocks the code
+ duplication is bad.
+
+ PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS specifies the maximum number
+ of statements and PHI nodes allowed in a block which is going to
+ be duplicated for thread jumping purposes.
+
+ Some simple analysis showed that more than 99% of the jump
+ threading opportunities are for blocks with less than 15
+ statements. So we can get the benefits of jump threading
+ without excessive code bloat for pathological cases with the
+ throttle set at 15 statements. */
+DEFPARAM (PARAM_MAX_JUMP_THREAD_DUPLICATION_STMTS,
+ "max-jump-thread-duplication-stmts",
+ "Maximum number of statements allowed in a block that needs to be duplicated when threading jumps",
+ 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.
+ 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,
+ "max-fields-for-field-sensitive",
+ "Maximum number of fields in a structure before pointer analysis treats the structure as a single variable",
+ 0, 0, 0)
+
+DEFPARAM(PARAM_MAX_SCHED_READY_INSNS,
+ "max-sched-ready-insns",
+ "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass",
+ 100, 0, 0)
+
+/* Prefetching and cache-optimizations related parameters. Default values are
+ usually set by machine description. */
+
+/* The number of insns executed before prefetch is completed. */
+
+DEFPARAM (PARAM_PREFETCH_LATENCY,
+ "prefetch-latency",
+ "The number of insns executed before prefetch is completed",
+ 200, 0, 0)
+
+/* The number of prefetches that can run at the same time. */
+
+DEFPARAM (PARAM_SIMULTANEOUS_PREFETCHES,
+ "simultaneous-prefetches",
+ "The number of prefetches that can run at the same time",
+ 3, 0, 0)
+
+/* The size of L1 cache in kB. */
+
+DEFPARAM (PARAM_L1_CACHE_SIZE,
+ "l1-cache-size",
+ "The size of L1 cache",
+ 64, 0, 0)
+
+/* The size of L1 cache line in bytes. */
+
+DEFPARAM (PARAM_L1_CACHE_LINE_SIZE,
+ "l1-cache-line-size",
+ "The size of L1 cache line",
+ 32, 0, 0)
+
+/* The size of L2 cache in kB. */
+
+DEFPARAM (PARAM_L2_CACHE_SIZE,
+ "l2-cache-size",
+ "The size of L2 cache",
+ 512, 0, 0)
+
+/* Whether we should use canonical types rather than deep "structural"
+ type checking. Setting this value to 1 (the default) improves
+ compilation performance in the C++ and Objective-C++ front end;
+ this value should only be set to zero to work around bugs in the
+ canonical type system by disabling it. */
+
+DEFPARAM (PARAM_USE_CANONICAL_TYPES,
+ "use-canonical-types",
+ "Whether to use canonical types",
+ 1, 0, 1)
+
+DEFPARAM (PARAM_MAX_PARTIAL_ANTIC_LENGTH,
+ "max-partial-antic-length",
+ "Maximum length of partial antic set when performing tree pre optimization",
+ 100, 0, 0)
+
+/* The following is used as a stop-gap limit for cases where really huge
+ SCCs blow up memory and compile-time use too much. If we hit this limit,
+ SCCVN and such FRE and PRE will be not done at all for the current
+ function. */
+
+DEFPARAM (PARAM_SCCVN_MAX_SCC_SIZE,
+ "sccvn-max-scc-size",
+ "Maximum size of a SCC before SCCVN stops processing a function",
+ 10000, 10, 0)
+
+
+DEFPARAM (PARAM_DF_DOUBLE_QUEUE_THRESHOLD_FACTOR,
+ "df-double-queue-threshold-factor",
+ "Multiplier used for determining the double-queueing threshold",
+ 2, 0, 0)