; Parameter options of the compiler.

; Copyright (C) 2019-2021 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3.  If not see
; <http://www.gnu.org/licenses/>.

; See the GCC internals manual (options.texi) for a description of this file's format.

; Please try to keep this file in ASCII collating order.

-param=align-loop-iterations=
Common Joined UInteger Var(param_align_loop_iterations) Init(4) Param Optimization
Loops iterating at least selected number of iterations will get loop alignment.

-param=align-threshold=
Common Joined UInteger Var(param_align_threshold) Init(100) IntegerRange(1, 65536) Param Optimization
Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment.

-param=asan-globals=
Common Joined UInteger Var(param_asan_globals) Init(1) IntegerRange(0, 1) Param
Enable asan globals protection.

-param=asan-instrument-allocas=
Common Joined UInteger Var(param_asan_protect_allocas) Init(1) IntegerRange(0, 1) Param Optimization
Enable asan allocas/VLAs protection.

-param=asan-instrument-reads=
Common Joined UInteger Var(param_asan_instrument_reads) Init(1) IntegerRange(0, 1) Param Optimization
Enable asan load operations protection.

-param=asan-instrument-writes=
Common Joined UInteger Var(param_asan_instrument_writes) Init(1) IntegerRange(0, 1) Param Optimization
Enable asan store operations protection.

-param=asan-instrumentation-with-call-threshold=
Common Joined UInteger Var(param_asan_instrumentation_with_call_threshold) Init(7000) Param Optimization
Use callbacks instead of inline code if number of accesses in function becomes greater or equal to this number.

-param=asan-memintrin=
Common Joined UInteger Var(param_asan_memintrin) Init(1) IntegerRange(0, 1) Param Optimization
Enable asan builtin functions protection.

-param=asan-stack=
Common Joined UInteger Var(param_asan_stack) Init(1) IntegerRange(0, 1) Param Optimization
Enable asan stack protection.

-param=asan-use-after-return=
Common Joined UInteger Var(param_asan_use_after_return) Init(1) IntegerRange(0, 1) Param Optimization
Enable asan detection of use-after-return bugs.

-param=hwasan-instrument-stack=
Common Joined UInteger Var(param_hwasan_instrument_stack) Init(1) IntegerRange(0, 1) Param Optimization
Enable hwasan instrumentation of statically sized stack-allocated variables.

-param=hwasan-random-frame-tag=
Common Joined UInteger Var(param_hwasan_random_frame_tag) Init(1) IntegerRange(0, 1) Param Optimization
Use random base tag for each frame, as opposed to base always zero.

-param=hwasan-instrument-allocas=
Common Joined UInteger Var(param_hwasan_instrument_allocas) Init(1) IntegerRange(0, 1) Param Optimization
Enable hwasan instrumentation of allocas/VLAs.

-param=hwasan-instrument-reads=
Common Joined UInteger Var(param_hwasan_instrument_reads) Init(1) IntegerRange(0, 1) Param Optimization
Enable hwasan instrumentation of load operations.

-param=hwasan-instrument-writes=
Common Joined UInteger Var(param_hwasan_instrument_writes) Init(1) IntegerRange(0, 1) Param Optimization
Enable hwasan instrumentation of store operations.

-param=hwasan-instrument-mem-intrinsics=
Common Joined UInteger Var(param_hwasan_instrument_mem_intrinsics) Init(1) IntegerRange(0, 1) Param Optimization
Enable hwasan instrumentation of builtin functions.

-param=avg-loop-niter=
Common Joined UInteger Var(param_avg_loop_niter) Init(10) IntegerRange(1, 65536) Param Optimization
Average number of iterations of a loop.

-param=avoid-fma-max-bits=
Common Joined UInteger Var(param_avoid_fma_max_bits) IntegerRange(0, 512) Param Optimization
Maximum number of bits for which we avoid creating FMAs.

-param=builtin-expect-probability=
Common Joined UInteger Var(param_builtin_expect_probability) Init(90) IntegerRange(0, 100) Param Optimization
Set the estimated probability in percentage for builtin expect. The default value is 90% probability.

-param=builtin-string-cmp-inline-length=
Common Joined UInteger Var(param_builtin_string_cmp_inline_length) Init(3) IntegerRange(0, 100) Param Optimization
The maximum length of a constant string for a builtin string cmp call eligible for inlining. The default value is 3.

-param=case-values-threshold=
Common Joined UInteger Var(param_case_values_threshold) Param Optimization
The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine.

-param=comdat-sharing-probability=
Common Joined UInteger Var(param_comdat_sharing_probability) Init(20) Param Optimization
Probability that COMDAT function will be shared with different compilation unit.

-param=cxx-max-namespaces-for-diagnostic-help=
Common Joined UInteger Var(param_cxx_max_namespaces_for_diagnostic_help) Init(1000) Param
Maximum number of namespaces to search for alternatives when name lookup fails.

-param=dse-max-alias-queries-per-store=
Common Joined UInteger Var(param_dse_max_alias_queries_per_store) Init(256) Param Optimization
Maximum number of queries into the alias oracle per store.

-param=dse-max-object-size=
Common Joined UInteger Var(param_dse_max_object_size) Init(256) Param Optimization
Maximum size (in bytes) of objects tracked bytewise by dead store elimination.

-param=early-inlining-insns=
Common Joined UInteger Var(param_early_inlining_insns) Init(6) Optimization Param
Maximal estimated growth of function body caused by early inlining of single call.

-param=evrp-sparse-threshold=
Common Joined UInteger Var(param_evrp_sparse_threshold) Init(800) Optimization Param
Maximum number of basic blocks before EVRP uses a sparse cache.

-param=evrp-switch-limit=
Common Joined UInteger Var(param_evrp_switch_limit) Init(50) Optimization Param
Maximum number of outgoing edges in a switch before EVRP will not process it.

-param=evrp-mode=
Common Joined Var(param_evrp_mode) Enum(evrp_mode) Init(EVRP_MODE_RVRP_ONLY) Param Optimization
--param=evrp-mode=[legacy|ranger|legacy-first|ranger-first] Specifies the mode Early VRP should operate in.

Enum
Name(evrp_mode) Type(enum evrp_mode) UnknownError(unknown evrp mode %qs)

EnumValue
Enum(evrp_mode) String(legacy) Value(EVRP_MODE_EVRP_ONLY)

EnumValue
Enum(evrp_mode) String(ranger) Value(EVRP_MODE_RVRP_ONLY)

EnumValue
Enum(evrp_mode) String(legacy-first) Value(EVRP_MODE_EVRP_FIRST)

EnumValue
Enum(evrp_mode) String(ranger-first) Value(EVRP_MODE_RVRP_FIRST)

-param=fsm-scale-path-blocks=
Common Joined UInteger Var(param_fsm_scale_path_blocks) Init(3) IntegerRange(1, 10) Param Optimization
Scale factor to apply to the number of blocks in a threading path when comparing to the number of (scaled) statements.

-param=fsm-scale-path-stmts=
Common Joined UInteger Var(param_fsm_scale_path_stmts) Init(2) IntegerRange(1, 10) Param Optimization
Scale factor to apply to the number of statements in a threading path when comparing to the number of (scaled) blocks.

-param=gcse-after-reload-critical-fraction=
Common Joined UInteger Var(param_gcse_after_reload_critical_fraction) Init(10) Param Optimization
The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload.

-param=gcse-after-reload-partial-fraction=
Common Joined UInteger Var(param_gcse_after_reload_partial_fraction) Init(3) Param Optimization
The threshold ratio for performing partial redundancy elimination after reload.

-param=gcse-cost-distance-ratio=
Common Joined UInteger Var(param_gcse_cost_distance_ratio) Init(10) Param Optimization
Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations.

-param=gcse-unrestricted-cost=
Common Joined UInteger Var(param_gcse_unrestricted_cost) Init(3) Param Optimization
Cost at which GCSE optimizations will not constraint the distance an expression can travel.

-param=ggc-min-expand=
Common Joined UInteger Var(param_ggc_min_expand) Init(30) Param
Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap.

-param=ggc-min-heapsize=
Common Joined UInteger Var(param_ggc_min_heapsize) Init(4096) Param
Minimum heap size before we start collecting garbage, in kilobytes.

-param=gimple-fe-computed-hot-bb-threshold=
Common Joined UInteger Var(param_gimple_fe_computed_hot_bb_threshold) Param
The number of executions of a basic block which is considered hot. The parameter is used only in GIMPLE FE.

-param=graphite-allow-codegen-errors=
Common Joined UInteger Var(param_graphite_allow_codegen_errors) IntegerRange(0, 1) Param
Whether codegen errors should be ICEs when -fchecking.

-param=graphite-max-arrays-per-scop=
Common Joined UInteger Var(param_graphite_max_arrays_per_scop) Init(100) Param Optimization
Maximum number of arrays per SCoP.

-param=graphite-max-nb-scop-params=
Common Joined UInteger Var(param_graphite_max_nb_scop_params) Init(10) Param Optimization
Maximum number of parameters in a SCoP.

-param=hash-table-verification-limit=
Common Joined UInteger Var(param_hash_table_verification_limit) Init(10) Param
The number of elements for which hash table verification is done for each searched element.

-param=hot-bb-count-fraction=
Common Joined UInteger Var(param_hot_bb_count_fraction) Init(10000) Param
The denominator n of fraction 1/n of the maximal execution count of a basic block in the entire program that a basic block needs to at least have in order to be considered hot (used in non-LTO mode).

-param=hot-bb-count-ws-permille=
Common Joined UInteger Var(param_hot_bb_count_ws_permille) Init(990) IntegerRange(0, 1000) Param
The number of most executed permilles of the profiled execution of the entire program to which the execution count of a basic block must be part of in order to be considered hot (used in LTO mode).

-param=hot-bb-frequency-fraction=
Common Joined UInteger Var(param_hot_bb_frequency_fraction) Init(1000) Param
The denominator n of fraction 1/n of the execution frequency of the entry block of a function that a basic block of this function needs to at least have in order to be considered hot.

-param=inline-heuristics-hint-percent=
Common Joined UInteger Var(param_inline_heuristics_hint_percent) Init(200) Optimization IntegerRange(100, 1000000) Param
The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable.

-param=inline-min-speedup=
Common Joined UInteger Var(param_inline_min_speedup) Init(30) Optimization IntegerRange(0, 100) Param
The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.

-param=inline-unit-growth=
Common Joined UInteger Var(param_inline_unit_growth) Init(40) Optimization Param
How much can given compilation unit grow because of the inlining (in percent).

-param=integer-share-limit=
Common Joined UInteger Var(param_integer_share_limit) Init(251) IntegerRange(2, 65536) Param
The upper bound for sharing integer constants.

-param=ipa-cp-eval-threshold=
Common Joined UInteger Var(param_ipa_cp_eval_threshold) Init(500) Param Optimization
Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone.

-param=ipa-cp-loop-hint-bonus=
Common Joined UInteger Var(param_ipa_cp_loop_hint_bonus) Init(64) Param Optimization
Compile-time bonus IPA-CP assigns to candidates which make loop bounds or strides known.

-param=ipa-cp-max-recursive-depth=
Common Joined UInteger Var(param_ipa_cp_max_recursive_depth) Init(8) Param Optimization
Maximum depth of recursive cloning for self-recursive function.

-param=ipa-cp-min-recursive-probability=
Common Joined UInteger Var(param_ipa_cp_min_recursive_probability) Init(2) Param Optimization
Recursive cloning only when the probability of call being executed exceeds the parameter.

-param=ipa-cp-recursive-freq-factor=
Common Joined UInteger Var(param_ipa_cp_recursive_freq_factor) Init(6) Param Optimization
When propagating IPA-CP effect estimates, multiply frequencies of recursive edges that that bring back an unchanged value by this factor.

-param=ipa-cp-recursion-penalty=
Common Joined UInteger Var(param_ipa_cp_recursion_penalty) Init(40) IntegerRange(0, 100) Param Optimization
Percentage penalty the recursive functions will receive when they are evaluated for cloning.

-param=ipa-cp-single-call-penalty=
Common Joined UInteger Var(param_ipa_cp_single_call_penalty) Init(15) IntegerRange(0, 100) Param Optimization
Percentage penalty functions containing a single call to another function will receive when they are evaluated for cloning.

-param=ipa-cp-unit-growth=
Common Joined UInteger Var(param_ipa_cp_unit_growth) Init(10) Param Optimization
How much can given compilation unit grow because of the interprocedural constant propagation (in percent).

-param=ipa-cp-large-unit-insns=
Common Joined UInteger Var(param_ipa_cp_large_unit_insns) Optimization Init(16000) Param
The size of translation unit that IPA-CP pass considers large.

-param=ipa-cp-value-list-size=
Common Joined UInteger Var(param_ipa_cp_value_list_size) Init(8) Param Optimization
Maximum size of a list of values associated with each parameter for interprocedural constant propagation.

-param=ipa-cp-profile-count-base=
Common Joined UInteger Var(param_ipa_cp_profile_count_base) Init(10) IntegerRange(0, 100) Param Optimization
When using profile feedback, use the edge at this percentage position in frequncy histogram as the bases for IPA-CP heuristics.

-param=ipa-jump-function-lookups=
Common Joined UInteger Var(param_ipa_jump_function_lookups) Init(8) Param Optimization
Maximum number of statements visited during jump function offset discovery.

-param=ipa-max-aa-steps=
Common Joined UInteger Var(param_ipa_max_aa_steps) Init(25000) Param Optimization
Maximum number of statements that will be visited by IPA formal parameter analysis based on alias analysis in any given function.

-param=ipa-max-agg-items=
Common Joined UInteger Var(param_ipa_max_agg_items) Init(16) Param Optimization
Maximum number of aggregate content items for a parameter in jump functions and lattices.

-param=ipa-max-param-expr-ops=
Common Joined UInteger Var(param_ipa_max_param_expr_ops) Init(10) Param Optimization
Maximum number of operations in a parameter expression that can be handled by IPA analysis.

-param=ipa-max-loop-predicates=
Common Joined UInteger Var(param_ipa_max_loop_predicates) Init(16) Param Optimization
Maximum number of different predicates used to track properties of loops in IPA analysis.

-param=ipa-max-switch-predicate-bounds=
Common Joined UInteger Var(param_ipa_max_switch_predicate_bounds) Init(5) Param Optimization
Maximal number of boundary endpoints of case ranges of switch statement used during IPA function summary generation.

-param=ipa-sra-max-replacements=
Common Joined UInteger Var(param_ipa_sra_max_replacements) Optimization Init(8) IntegerRange(0, 16) Param
Maximum pieces that IPA-SRA tracks per formal parameter, as a consequence, also the maximum number of replacements of a formal parameter.

-param=ipa-sra-ptr-growth-factor=
Common Joined UInteger Var(param_ipa_sra_ptr_growth_factor) Init(2) Param Optimization
Maximum allowed growth of number and total size of new parameters that ipa-sra replaces a pointer to an aggregate with.

-param=ira-loop-reserved-regs=
Common Joined UInteger Var(param_ira_loop_reserved_regs) Init(2) Param Optimization
The number of registers in each class kept unused by loop invariant motion.

-param=ira-max-conflict-table-size=
Common Joined UInteger Var(param_ira_max_conflict_table_size) Init(1000) Param Optimization
Max size of conflict table in MB.

-param=ira-max-loops-num=
Common Joined UInteger Var(param_ira_max_loops_num) Init(100) Param Optimization
Max loops number for regional RA.

-param=ira-consider-dup-in-all-alts=
Common Joined UInteger Var(param_ira_consider_dup_in_all_alts) Init(1) IntegerRange(0, 1) Param Optimization
Control ira to consider matching constraint (duplicated operand number) heavily in all available alternatives for preferred register class.  If it is set as zero, it means ira only respects the matching constraint when it's in the only available alternative with an appropriate register class.  Otherwise, it means ira will check all available alternatives for preferred register class even if it has found some choice with an appropriate register class and respect the found qualified matching constraint.

-param=iv-always-prune-cand-set-bound=
Common Joined UInteger Var(param_iv_always_prune_cand_set_bound) Init(10) Param Optimization
If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization.

-param=iv-consider-all-candidates-bound=
Common Joined UInteger Var(param_iv_consider_all_candidates_bound) Init(40) Param Optimization
Bound on number of candidates below that all candidates are considered in iv optimizations.

-param=iv-max-considered-uses=
Common Joined UInteger Var(param_iv_max_considered_uses) Init(250) Param Optimization
Bound on number of iv uses in loop optimized in iv optimizations.

-param=jump-table-max-growth-ratio-for-size=
Common Joined UInteger Var(param_jump_table_max_growth_ratio_for_size) Init(300) Param Optimization
The maximum code size growth ratio when expanding into a jump table (in percent).  The parameter is used when optimizing for size.

-param=jump-table-max-growth-ratio-for-speed=
Common Joined UInteger Var(param_jump_table_max_growth_ratio_for_speed) Init(800) Param Optimization
The maximum code size growth ratio when expanding into a jump table (in percent).  The parameter is used when optimizing for speed.

-param=l1-cache-line-size=
Common Joined UInteger Var(param_l1_cache_line_size) Init(32) Param Optimization
The size of L1 cache line.

-param=destructive-interference-size=
Common Joined UInteger Var(param_destruct_interfere_size) Init(0) Param Optimization
The minimum recommended offset between two concurrently-accessed objects to
avoid additional performance degradation due to contention introduced by the
implementation.  Typically the L1 cache line size, but can be larger to
accommodate a variety of target processors with different cache line sizes.
C++17 code might use this value in structure layout, but is strongly
discouraged from doing so in public ABIs.

-param=constructive-interference-size=
Common Joined UInteger Var(param_construct_interfere_size) Init(0) Param Optimization
The maximum recommended size of contiguous memory occupied by two objects
accessed with temporal locality by concurrent threads.  Typically the L1 cache
line size, but can be smaller to accommodate a variety of target processors with
different cache line sizes.

-param=l1-cache-size=
Common Joined UInteger Var(param_l1_cache_size) Init(64) Param Optimization
The size of L1 cache.

-param=l2-cache-size=
Common Joined UInteger Var(param_l2_cache_size) Init(512) Param Optimization
The size of L2 cache.

-param=large-function-growth=
Common Joined UInteger Var(param_large_function_growth) Optimization Init(100) Param
Maximal growth due to inlining of large function (in percent).

-param=large-function-insns=
Common Joined UInteger Var(param_large_function_insns) Optimization Init(2700) Param
The size of function body to be considered large.

-param=large-stack-frame=
Common Joined UInteger Var(param_large_stack_frame) Init(256) Optimization Param
The size of stack frame to be considered large.

-param=large-stack-frame-growth=
Common Joined UInteger Var(param_stack_frame_growth) Optimization Init(1000) Param
Maximal stack frame growth due to inlining (in percent).

-param=large-unit-insns=
Common Joined UInteger Var(param_large_unit_insns) Optimization Init(10000) Param
The size of translation unit to be considered large.

-param=lazy-modules=
C++ Joined UInteger Var(param_lazy_modules) Init(32768) Param
Maximum number of concurrently open C++ module files when lazy loading.

-param=lim-expensive=
Common Joined UInteger Var(param_lim_expensive) Init(20) Param Optimization
The minimum cost of an expensive expression in the loop invariant motion.

-param=logical-op-non-short-circuit=
Common Joined UInteger Var(param_logical_op_non_short_circuit) Init(-1) IntegerRange(-1, 1) Param
True if a non-short-circuit operation is optimal.

-param=loop-block-tile-size=
Common Joined UInteger Var(param_loop_block_tile_size) Init(51) Param Optimization
Size of tiles for loop blocking.

-param=loop-interchange-max-num-stmts=
Common Joined UInteger Var(param_loop_interchange_max_num_stmts) Init(64) Param Optimization
The maximum number of stmts in loop nest for loop interchange.

-param=loop-interchange-stride-ratio=
Common Joined UInteger Var(param_loop_interchange_stride_ratio) Init(2) Param Optimization
The minimum stride ratio for loop interchange to be profitable.

-param=loop-invariant-max-bbs-in-loop=
Common Joined UInteger Var(param_loop_invariant_max_bbs_in_loop) Init(10000) Param Optimization
Max basic blocks number in loop for loop invariant motion.

-param=loop-max-datarefs-for-datadeps=
Common Joined UInteger Var(param_loop_max_datarefs_for_datadeps) Init(1000) Param Optimization
Maximum number of datarefs in loop for building loop data dependencies.

-param=loop-versioning-max-inner-insns=
Common Joined UInteger Var(param_loop_versioning_max_inner_insns) Init(200) Param Optimization
The maximum number of instructions in an inner loop that is being considered for versioning.

-param=loop-versioning-max-outer-insns=
Common Joined UInteger Var(param_loop_versioning_max_outer_insns) Init(100) Param Optimization
The maximum number of instructions in an outer loop that is being considered for versioning, on top of the instructions in inner loops.

-param=lra-inheritance-ebb-probability-cutoff=
Common Joined UInteger Var(param_lra_inheritance_ebb_probability_cutoff) Init(40) IntegerRange(0, 100) Param Optimization
Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA.

-param=lra-max-considered-reload-pseudos=
Common Joined UInteger Var(param_lra_max_considered_reload_pseudos) Init(500) Param Optimization
The max number of reload pseudos which are considered during spilling a non-reload pseudo.

-param=lto-max-partition=
Common Joined UInteger Var(param_max_partition_size) Init(1000000) Param
Maximal size of a partition for LTO (in estimated instructions).

-param=lto-max-streaming-parallelism=
Common Joined UInteger Var(param_max_lto_streaming_parallelism) Init(32) IntegerRange(1, 65536) Param
maximal number of LTO partitions streamed in parallel.

-param=lto-min-partition=
Common Joined UInteger Var(param_min_partition_size) Init(10000) Param
Minimal size of a partition for LTO (in estimated instructions).

-param=lto-partitions=
Common Joined UInteger Var(param_lto_partitions) Init(128) IntegerRange(1, 65536) Param
Number of partitions the program should be split to.

-param=max-average-unrolled-insns=
Common Joined UInteger Var(param_max_average_unrolled_insns) Init(80) Param Optimization
The maximum number of instructions to consider to unroll in a loop on average.

-param=max-combine-insns=
Common Joined UInteger Var(param_max_combine_insns) Init(4) IntegerRange(2, 4) Param Optimization
The maximum number of insns combine tries to combine.

-param=max-completely-peel-loop-nest-depth=
Common Joined UInteger Var(param_max_unroll_iterations) Init(8) Param Optimization
The maximum depth of a loop nest we completely peel.

-param=max-completely-peel-times=
Common Joined UInteger Var(param_max_completely_peel_times) Init(16) Param Optimization
The maximum number of peelings of a single loop that is peeled completely.

-param=max-completely-peeled-insns=
Common Joined UInteger Var(param_max_completely_peeled_insns) Init(200) Param Optimization
The maximum number of insns of a completely peeled loop.

-param=max-crossjump-edges=
Common Joined UInteger Var(param_max_crossjump_edges) Init(100) Param Optimization
The maximum number of incoming edges to consider for crossjumping.

-param=max-cse-insns=
Common Joined UInteger Var(param_max_cse_insns) Init(1000) Param Optimization
The maximum instructions CSE process before flushing.

-param=max-cse-path-length=
Common Joined UInteger Var(param_max_cse_path_length) Init(10) IntegerRange(1, 65536) Param Optimization
The maximum length of path considered in cse.

-param=max-cselib-memory-locations=
Common Joined UInteger Var(param_max_cselib_memory_locations) Init(500) Param Optimization
The maximum memory locations recorded by cselib.

-param=max-debug-marker-count=
Common Joined UInteger Var(param_max_debug_marker_count) Init(100000) Param Optimization
Max. count of debug markers to expand or inline.

-param=max-delay-slot-insn-search=
Common Joined UInteger Var(param_max_delay_slot_insn_search) Init(100) Param Optimization
The maximum number of instructions to consider to fill a delay slot.

-param=max-delay-slot-live-search=
Common Joined UInteger Var(param_max_delay_slot_live_search) Init(333) Param Optimization
The maximum number of instructions to consider to find accurate live register information.

-param=max-dse-active-local-stores=
Common Joined UInteger Var(param_max_dse_active_local_stores) Init(5000) Param Optimization
Maximum number of active local stores in RTL dead store elimination.

-param=max-early-inliner-iterations=
Common Joined UInteger Var(param_early_inliner_max_iterations) Init(1) Param Optimization
The maximum number of nested indirect inlining performed by early inliner.

-param=max-fields-for-field-sensitive=
Common Joined UInteger Var(param_max_fields_for_field_sensitive) Param
Maximum number of fields in a structure before pointer analysis treats the structure as a single variable.

-param=max-fsm-thread-length=
Common Joined UInteger Var(param_max_fsm_thread_length) Init(10) IntegerRange(1, 999999) Param Optimization
Maximum number of basic blocks on a jump thread path.

-param=max-fsm-thread-path-insns=
Common Joined UInteger Var(param_max_fsm_thread_path_insns) Init(100) IntegerRange(1, 999999) Param Optimization
Maximum number of instructions to copy when duplicating blocks on a finite state automaton jump thread path.

-param=max-gcse-insertion-ratio=
Common Joined UInteger Var(param_max_gcse_insertion_ratio) Init(20) Param Optimization
The maximum ratio of insertions to deletions of expressions in GCSE.

-param=max-gcse-memory=
Common Joined UInteger Var(param_max_gcse_memory) Init(131072) Param Optimization
The maximum amount of memory to be allocated by GCSE, in kilobytes.

-param=max-goto-duplication-insns=
Common Joined UInteger Var(param_max_goto_duplication_insns) Init(8) Param Optimization
The maximum number of insns to duplicate when unfactoring computed gotos.

-param=max-grow-copy-bb-insns=
Common Joined UInteger Var(param_max_grow_copy_bb_insns) Init(8) Param Optimization
The maximum expansion factor when copying basic blocks.

-param=max-hoist-depth=
Common Joined UInteger Var(param_max_hoist_depth) Init(30) Param Optimization
Maximum depth of search in the dominator tree for expressions to hoist.

-param=max-inline-insns-auto=
Common Joined UInteger Var(param_max_inline_insns_auto) Init(15) Optimization Param
The maximum number of instructions when automatically inlining.

-param=max-inline-insns-recursive=
Common Joined UInteger Var(param_max_inline_insns_recursive) Optimization Init(450) Param
The maximum number of instructions inline function can grow to via recursive inlining.

-param=max-inline-insns-recursive-auto=
Common Joined UInteger Var(param_max_inline_insns_recursive_auto) Optimization Init(450) Param
The maximum number of instructions non-inline function can grow to via recursive inlining.

-param=max-inline-insns-single=
Common Joined UInteger Var(param_max_inline_insns_single) Optimization Init(70) Param
The maximum number of instructions in a single function eligible for inlining.

-param=max-inline-insns-size=
Common Joined UInteger Var(param_max_inline_insns_size) Optimization Param
The maximum number of instructions when inlining for size.

-param=max-inline-insns-small=
Common Joined UInteger Var(param_max_inline_insns_small) Optimization Param
The maximum number of instructions when automatically inlining small functions.

-param=max-inline-recursive-depth=
Common Joined UInteger Var(param_max_inline_recursive_depth) Optimization Init(8) Param
The maximum depth of recursive inlining for inline functions.

-param=max-inline-recursive-depth-auto=
Common Joined UInteger Var(param_max_inline_recursive_depth_auto) Optimization Init(8) Param
The maximum depth of recursive inlining for non-inline functions.

-param=max-isl-operations=
Common Joined UInteger Var(param_max_isl_operations) Init(350000) Param Optimization
Maximum number of isl operations, 0 means unlimited.

-param=max-iterations-computation-cost=
Common Joined UInteger Var(param_max_iterations_computation_cost) Init(10) Param Optimization
Bound on the cost of an expression to compute the number of iterations.

-param=max-iterations-to-track=
Common Joined UInteger Var(param_max_iterations_to_track) Init(1000) Param Optimization
Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates.

-param=max-jump-thread-duplication-stmts=
Common Joined UInteger Var(param_max_jump_thread_duplication_stmts) Init(15) Param Optimization
Maximum number of statements allowed in a block that needs to be duplicated when threading jumps.

-param=max-last-value-rtl=
Common Joined UInteger Var(param_max_last_value_rtl) Init(10000) Param Optimization
The maximum number of RTL nodes that can be recorded as combiner's last value.

-param=max-loop-header-insns=
Common Joined UInteger Var(param_max_loop_header_insns) Init(20) Param Optimization
The maximum number of insns in loop header duplicated by the copy loop headers pass.

-param=max-modulo-backtrack-attempts=
Common Joined UInteger Var(param_max_modulo_backtrack_attempts) Init(40) Param Optimization
The maximum number of backtrack attempts the scheduler should make when modulo scheduling a loop.

-param=max-partial-antic-length=
Common Joined UInteger Var(param_max_partial_antic_length) Init(100) Param Optimization
Maximum length of partial antic set when performing tree pre optimization.

-param=max-peel-branches=
Common Joined UInteger Var(param_max_peel_branches) Init(32) Param Optimization
The maximum number of branches on the path through the peeled sequence.

-param=max-peel-times=
Common Joined UInteger Var(param_max_peel_times) Init(16) Param Optimization
The maximum number of peelings of a single loop.

-param=max-peeled-insns=
Common Joined UInteger Var(param_max_peeled_insns) Init(100) Param Optimization
The maximum number of insns of a peeled loop.

-param=max-pending-list-length=
Common Joined UInteger Var(param_max_pending_list_length) Init(32) Param Optimization
The maximum length of scheduling's pending operations list.

-param=max-pipeline-region-blocks=
Common Joined UInteger Var(param_max_pipeline_region_blocks) Init(15) Param Optimization
The maximum number of blocks in a region to be considered for interblock scheduling.

-param=max-pipeline-region-insns=
Common Joined UInteger Var(param_max_pipeline_region_insns) Init(200) Param Optimization
The maximum number of insns in a region to be considered for interblock scheduling.

-param=max-pow-sqrt-depth=
Common Joined UInteger Var(param_max_pow_sqrt_depth) Init(5) IntegerRange(1, 32) Param Optimization
Maximum depth of sqrt chains to use when synthesizing exponentiation by a real constant.

-param=max-predicted-iterations=
Common Joined UInteger Var(param_max_predicted_iterations) Init(100) IntegerRange(0, 65536) Param Optimization
The maximum number of loop iterations we predict statically.

-param=max-reload-search-insns=
Common Joined UInteger Var(param_max_reload_search_insns) Init(100) Param Optimization
The maximum number of instructions to search backward when looking for equivalent reload.

-param=max-rtl-if-conversion-insns=
Common Joined UInteger Var(param_max_rtl_if_conversion_insns) Init(10) IntegerRange(0, 99) Param Optimization
Maximum number of insns in a basic block to consider for RTL if-conversion.

-param=max-rtl-if-conversion-predictable-cost=
Common Joined UInteger Var(param_max_rtl_if_conversion_predictable_cost) Init(20) IntegerRange(0, 200) Param Optimization
Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered predictable.

-param=max-rtl-if-conversion-unpredictable-cost=
Common Joined UInteger Var(param_max_rtl_if_conversion_unpredictable_cost) Init(40) IntegerRange(0, 200) Param Optimization
Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered unpredictable.

-param=max-sched-extend-regions-iters=
Common Joined UInteger Var(param_max_sched_extend_regions_iters) Param Optimization
The maximum number of iterations through CFG to extend regions.

-param=max-sched-insn-conflict-delay=
Common Joined UInteger Var(param_max_sched_insn_conflict_delay) Init(3) IntegerRange(1, 10) Param Optimization
The maximum conflict delay for an insn to be considered for speculative motion.

-param=max-sched-ready-insns=
Common Joined UInteger Var(param_max_sched_ready_insns) Init(100) IntegerRange(1, 65536) Param Optimization
The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass.

-param=max-sched-region-blocks=
Common Joined UInteger Var(param_max_sched_region_blocks) Init(10) Param Optimization
The maximum number of blocks in a region to be considered for interblock scheduling.

-param=max-sched-region-insns=
Common Joined UInteger Var(param_max_sched_region_insns) Init(100) Param Optimization
The maximum number of insns in a region to be considered for interblock scheduling.

-param=max-slsr-cand-scan=
Common Joined UInteger Var(param_max_slsr_candidate_scan) Init(50) IntegerRange(1, 999999) Param Optimization
Maximum length of candidate scans for straight-line strength reduction.

-param=max-speculative-devirt-maydefs=
Common Joined UInteger Var(param_max_speculative_devirt_maydefs) Init(50) Param Optimization
Maximum number of may-defs visited when devirtualizing speculatively.

-param=max-ssa-name-query-depth=
Common Joined UInteger Var(param_max_ssa_name_query_depth) Init(3) IntegerRange(1, 10) Param
Maximum recursion depth allowed when querying a property of an SSA name.

-param=max-stores-to-merge=
Common Joined UInteger Var(param_max_stores_to_merge) Init(64) IntegerRange(2, 65536) Param Optimization
Maximum number of constant stores to merge in the store merging pass.

-param=max-stores-to-sink=
Common Joined UInteger Var(param_max_stores_to_sink) Init(2) Param Optimization
Maximum number of conditional store pairs that can be sunk.

-param=max-store-chains-to-track=
Common Joined UInteger Var(param_max_store_chains_to_track) Init(64) IntegerRange(1, 65536) Param
Maximum number of store chains to track at the same time in the store merging pass.

-param=max-stores-to-track=
Common Joined UInteger Var(param_max_stores_to_track) Init(1024) IntegerRange(2, 1048576) Param
Maximum number of store chains to track at the same time in the store merging pass.

-param=max-tail-merge-comparisons=
Common Joined UInteger Var(param_max_tail_merge_comparisons) Init(10) Param Optimization
Maximum amount of similar bbs to compare a bb with.

-param=max-tail-merge-iterations=
Common Joined UInteger Var(param_max_tail_merge_iterations) Init(2) Param Optimization
Maximum amount of iterations of the pass over a function.

-param=max-tracked-strlens=
Common Joined UInteger Var(param_max_tracked_strlens) Init(10000) Param Optimization
Maximum number of strings for which strlen optimization pass will track string lengths.

-param=max-tree-if-conversion-phi-args=
Common Joined UInteger Var(param_max_tree_if_conversion_phi_args) Init(4) IntegerRange(2, 65536) Param Optimization
Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with simd pragma.

-param=max-unroll-times=
Common Joined UInteger Var(param_max_unroll_times) Init(8) Param Optimization
The maximum number of unrollings of a single loop.

-param=max-unrolled-insns=
Common Joined UInteger Var(param_max_unrolled_insns) Init(200) Param Optimization
The maximum number of instructions to consider to unroll in a loop.

-param=max-unswitch-insns=
Common Joined UInteger Var(param_max_unswitch_insns) Init(50) Param Optimization
The maximum number of insns of an unswitched loop.

-param=max-unswitch-level=
Common Joined UInteger Var(param_max_unswitch_level) Init(3) Param Optimization
The maximum number of unswitchings in a single loop.

-param=max-variable-expansions-in-unroller=
Common Joined UInteger Var(param_max_variable_expansions) Init(1) Param Optimization
If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling.

-param=max-vartrack-expr-depth=
Common Joined UInteger Var(param_max_vartrack_expr_depth) Init(12) Param Optimization
Max. recursion depth for expanding var tracking expressions.

-param=max-vartrack-reverse-op-size=
Common Joined UInteger Var(param_max_vartrack_reverse_op_size) Init(50) Param Optimization
Max. size of loc list for which reverse ops should be added.

-param=max-vartrack-size=
Common Joined UInteger Var(param_max_vartrack_size) Init(50000000) Param Optimization
Max. size of var tracking hash tables.

-param=max-find-base-term-values=
Common Joined UInteger Var(param_max_find_base_term_values) Init(200) Param Optimization
Maximum number of VALUEs handled during a single find_base_term call.

-param=max-vrp-switch-assertions=
Common Joined UInteger Var(param_max_vrp_switch_assertions) Init(10) Param Optimization
Maximum number of assertions to add along the default edge of a switch statement during VRP.

-param=min-crossjump-insns=
Common Joined UInteger Var(param_min_crossjump_insns) Init(5) IntegerRange(1, 65536) Param Optimization
The minimum number of matching instructions to consider for crossjumping.

-param=min-inline-recursive-probability=
Common Joined UInteger Var(param_min_inline_recursive_probability) Init(10) Optimization Param
Inline recursively only when the probability of call being executed exceeds the parameter.

-param=min-insn-to-prefetch-ratio=
Common Joined UInteger Var(param_min_insn_to_prefetch_ratio) Init(9) Param Optimization
Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count.

-param=min-loop-cond-split-prob=
Common Joined UInteger Var(param_min_loop_cond_split_prob) Init(30) IntegerRange(0, 100) Param Optimization
The minimum threshold for probability of semi-invariant condition statement to trigger loop split.

-param=min-nondebug-insn-uid=
Common Joined UInteger Var(param_min_nondebug_insn_uid) Param
The minimum UID to be used for a nondebug insn.

-param=min-size-for-stack-sharing=
Common Joined UInteger Var(param_min_size_for_stack_sharing) Init(32) Param Optimization
The minimum size of variables taking part in stack slot sharing when not optimizing.

-param=min-spec-prob=
Common Joined UInteger Var(param_min_spec_prob) Init(40) Param Optimization
The minimum probability of reaching a source block for interblock speculative scheduling.

-param=min-vect-loop-bound=
Common Joined UInteger Var(param_min_vect_loop_bound) Param Optimization
If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization.

-param=openacc-kernels=
Common Joined Enum(openacc_kernels) Var(param_openacc_kernels) Init(OPENACC_KERNELS_PARLOOPS) Param
--param=openacc-kernels=[decompose|parloops]	Specify mode of OpenACC 'kernels' constructs handling.

Enum
Name(openacc_kernels) Type(enum openacc_kernels)

EnumValue
Enum(openacc_kernels) String(decompose) Value(OPENACC_KERNELS_DECOMPOSE)

EnumValue
Enum(openacc_kernels) String(parloops) Value(OPENACC_KERNELS_PARLOOPS)

-param=openacc-privatization=
Common Joined Enum(openacc_privatization) Var(param_openacc_privatization) Init(OPENACC_PRIVATIZATION_QUIET) Param
--param=openacc-privatization=[quiet|noisy]	Specify mode of OpenACC privatization diagnostics.

Enum
Name(openacc_privatization) Type(enum openacc_privatization)

EnumValue
Enum(openacc_privatization) String(quiet) Value(OPENACC_PRIVATIZATION_QUIET)

EnumValue
Enum(openacc_privatization) String(noisy) Value(OPENACC_PRIVATIZATION_NOISY)

-param=parloops-chunk-size=
Common Joined UInteger Var(param_parloops_chunk_size) Param Optimization
Chunk size of omp schedule for loops parallelized by parloops.

-param=parloops-min-per-thread=
Common Joined UInteger Var(param_parloops_min_per_thread) Init(100) IntegerRange(2, 65536) Param Optimization
Minimum number of iterations per thread of an innermost parallelized loop.

-param=parloops-schedule=
Common Joined Var(param_parloops_schedule) Enum(parloops_schedule_type) Param Optimization
--param=parloops-schedule=[static|dynamic|guided|auto|runtime]	Schedule type of omp schedule for loops parallelized by parloops.

Enum
Name(parloops_schedule_type) Type(int)

EnumValue
Enum(parloops_schedule_type) String(static) Value(PARLOOPS_SCHEDULE_STATIC)

EnumValue
Enum(parloops_schedule_type) String(dynamic) Value(PARLOOPS_SCHEDULE_DYNAMIC)

EnumValue
Enum(parloops_schedule_type) String(guided) Value(PARLOOPS_SCHEDULE_GUIDED)

EnumValue
Enum(parloops_schedule_type) String(auto) Value(PARLOOPS_SCHEDULE_AUTO)

EnumValue
Enum(parloops_schedule_type) String(runtime) Value(PARLOOPS_SCHEDULE_RUNTIME)

-param=partial-inlining-entry-probability=
Common Joined UInteger Var(param_partial_inlining_entry_probability) Init(70) Optimization IntegerRange(0, 100) Param
Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen.

-param=predictable-branch-outcome=
Common Joined UInteger Var(param_predictable_branch_outcome) Init(2) IntegerRange(0, 50) Param Optimization
Maximal estimated outcome of branch considered predictable.

-param=prefetch-dynamic-strides=
Common Joined UInteger Var(param_prefetch_dynamic_strides) Init(1) IntegerRange(0, 1) Param Optimization
Whether software prefetch hints should be issued for non-constant strides.

-param=prefetch-latency=
Common Joined UInteger Var(param_prefetch_latency) Init(200) Param Optimization
The number of insns executed before prefetch is completed.

-param=prefetch-min-insn-to-mem-ratio=
Common Joined UInteger Var(param_prefetch_min_insn_to_mem_ratio) Init(3) Param Optimization
Min. ratio of insns to mem ops to enable prefetching in a loop.

-param=prefetch-minimum-stride=
Common Joined UInteger Var(param_prefetch_minimum_stride) Init(-1) Param Optimization
The minimum constant stride beyond which we should use prefetch hints for.

-param=profile-func-internal-id=
Common Joined UInteger Var(param_profile_func_internal_id) IntegerRange(0, 1) Param
Use internal function id in profile lookup.

-param=ranger-debug=
Common Joined Var(param_ranger_debug) Enum(ranger_debug) Init(RANGER_DEBUG_NONE) Param Optimization
--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the output mode for debugging ranger.

Enum
Name(ranger_debug) Type(enum ranger_debug) UnknownError(unknown ranger debug mode %qs)

EnumValue
Enum(ranger_debug) String(none) Value(RANGER_DEBUG_NONE)

EnumValue
Enum(ranger_debug) String(trace) Value(RANGER_DEBUG_TRACE)

EnumValue
Enum(ranger_debug) String(cache) Value(RANGER_DEBUG_TRACE_CACHE)

EnumValue
Enum(ranger_debug) String(gori) Value(RANGER_DEBUG_GORI)

EnumValue
Enum(ranger_debug) String(tracegori) Value(RANGER_DEBUG_TRACE_GORI)

EnumValue
Enum(ranger_debug) String(all) Value(RANGER_DEBUG_ALL)

-param=ranger-logical-depth=
Common Joined UInteger Var(param_ranger_logical_depth) Init(6) IntegerRange(1, 999) Param Optimization
Maximum depth of logical expression evaluation ranger will look through when
evaluating outgoing edge ranges.

-param=rpo-vn-max-loop-depth=
Common Joined UInteger Var(param_rpo_vn_max_loop_depth) Init(7) IntegerRange(2, 65536) Param Optimization
Maximum depth of a loop nest to fully value-number optimistically.

-param=sccvn-max-alias-queries-per-access=
Common Joined UInteger Var(param_sccvn_max_alias_queries_per_access) Init(1000) Param Optimization
Maximum number of disambiguations to perform per memory access.

-param=scev-max-expr-complexity=
Common Joined UInteger Var(param_scev_max_expr_complexity) Init(10) Param Optimization
Bound on the complexity of the expressions in the scalar evolutions analyzer.

-param=scev-max-expr-size=
Common Joined UInteger Var(param_scev_max_expr_size) Init(100) Param Optimization
Bound on size of expressions used in the scalar evolutions analyzer.

-param=sched-autopref-queue-depth=
Common Joined UInteger Var(param_sched_autopref_queue_depth) Init(-1) Param Optimization
Hardware autoprefetcher scheduler model control flag.  Number of lookahead cycles the model looks into, at '0' only enable instruction sorting heuristic.  Disabled by default.

-param=sched-mem-true-dep-cost=
Common Joined UInteger Var(param_sched_mem_true_dep_cost) Init(1) Param Optimization
Minimal distance between possibly conflicting store and load.

-param=sched-pressure-algorithm=
Common Joined UInteger Var(param_sched_pressure_algorithm) Init(1) IntegerRange(1, 2) Param Optimization
Which -fsched-pressure algorithm to apply.

-param=sched-spec-prob-cutoff=
Common Joined UInteger Var(param_sched_spec_prob_cutoff) Init(40) IntegerRange(0, 100) Param Optimization
The minimal probability of speculation success (in percents), so that speculative insn will be scheduled.

-param=sched-state-edge-prob-cutoff=
Common Joined UInteger Var(param_sched_state_edge_prob_cutoff) Init(10) IntegerRange(0, 100) Param Optimization
The minimum probability an edge must have for the scheduler to save its state across it.

-param=selsched-insns-to-rename=
Common Joined UInteger Var(param_selsched_insns_to_rename) Init(2) Param Optimization
Maximum number of instructions in the ready list that are considered eligible for renaming.

-param=selsched-max-lookahead=
Common Joined UInteger Var(param_selsched_max_lookahead) Init(50) Param Optimization
The maximum size of the lookahead window of selective scheduling.

-param=selsched-max-sched-times=
Common Joined UInteger Var(param_selsched_max_sched_times) Init(2) IntegerRange(1, 65536) Param Optimization
Maximum number of times that an insn could be scheduled.

-param=simultaneous-prefetches=
Common Joined UInteger Var(param_simultaneous_prefetches) Init(3) Param Optimization
The number of prefetches that can run at the same time.

-param=sink-frequency-threshold=
Common Joined UInteger Var(param_sink_frequency_threshold) Init(75) IntegerRange(0, 100) Param Optimization
Target block's relative execution frequency (as a percentage) required to sink a statement.

-param=sms-dfa-history=
Common Joined UInteger Var(param_sms_dfa_history) IntegerRange(0, 16) Param Optimization
The number of cycles the swing modulo scheduler considers when checking conflicts using DFA.

-param=sms-loop-average-count-threshold=
Common Joined UInteger Var(param_sms_loop_average_count_threshold) Param Optimization
A threshold on the average loop count considered by the swing modulo scheduler.

-param=sms-max-ii-factor=
Common Joined UInteger Var(param_sms_max_ii_factor) Init(2) IntegerRange(1, 16) Param Optimization
A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop.

-param=sms-min-sc=
Common Joined UInteger Var(param_sms_min_sc) Init(2) IntegerRange(1, 2) Param Optimization
The minimum value of stage count that swing modulo scheduler will generate.

-param=sra-max-scalarization-size-Osize=
Common Joined UInteger Var(param_sra_max_scalarization_size_size) Param Optimization
Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for size.

-param=sra-max-scalarization-size-Ospeed=
Common Joined UInteger Var(param_sra_max_scalarization_size_speed) Param Optimization
Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for speed.

-param=sra-max-propagations=
Common Joined UInteger Var(param_sra_max_propagations) Param Optimization Init(32)
Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates will keep for one local variable.

-param=ssa-name-def-chain-limit=
Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optimization
The maximum number of SSA_NAME assignments to follow in determining a value.

-param=ssp-buffer-size=
Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
The lower bound for a buffer to be considered for stack smashing protection.

-param=stack-clash-protection-guard-size=
Common Joined UInteger Var(param_stack_clash_protection_guard_size) Init(12) IntegerRange(12, 30) Param Optimization
Size of the stack guard expressed as a power of two in bytes.

-param=stack-clash-protection-probe-interval=
Common Joined UInteger Var(param_stack_clash_protection_probe_interval) Init(12) IntegerRange(10, 16) Param Optimization
Interval in which to probe the stack expressed as a power of two in bytes.

-param=store-merging-allow-unaligned=
Common Joined UInteger Var(param_store_merging_allow_unaligned) Init(1) IntegerRange(0, 1) Param Optimization
Allow the store merging pass to introduce unaligned stores if it is legal to do so.

-param=store-merging-max-size=
Common Joined UInteger Var(param_store_merging_max_size) Init(65536) IntegerRange(1, 65536) Param Optimization
Maximum size of a single store merging region in bytes.

-param=switch-conversion-max-branch-ratio=
Common Joined UInteger Var(param_switch_conversion_branch_ratio) Init(8) IntegerRange(1, 65536) Param Optimization
The maximum ratio between array size and switch branches for a switch conversion to take place.

-param=modref-max-bases=
Common Joined UInteger Var(param_modref_max_bases) Init(32) Param Optimization
Maximum number of bases stored in each modref tree.

-param=modref-max-refs=
Common Joined UInteger Var(param_modref_max_refs) Init(16) Param Optimization
Maximum number of references stored in each modref base.

-param=modref-max-accesses=
Common Joined UInteger Var(param_modref_max_accesses) Init(16) Param Optimization
Maximum number of accesses stored in each modref reference.

-param=modref-max-tests=
Common Joined UInteger Var(param_modref_max_tests) Init(64) Param Optimization
Maximum number of tests performed by modref query.

-param=modref-max-depth=
Common Joined UInteger Var(param_modref_max_depth) Init(256) Param Optimization
Maximum depth of DFS walk used by modref escape analysis.

-param=modref-max-escape-points=
Common Joined UInteger Var(param_modref_max_escape_points) Init(256) Param Optimization
Maximum number of escape points tracked by modref per SSA-name.

-param=modref-max-adjustments=
Common Joined UInteger Var(param_modref_max_adjustments) Init(8) IntegerRange (0, 254) Param Optimization
Maximum number of times a given range is adjusted during the dataflow.

-param=tm-max-aggregate-size=
Common Joined UInteger Var(param_tm_max_aggregate_size) Init(9) Param Optimization
Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs.

-param=tracer-dynamic-coverage=
Common Joined UInteger Var(param_tracer_dynamic_coverage) Init(75) IntegerRange(0, 100) Param Optimization
The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available.

-param=tracer-dynamic-coverage-feedback=
Common Joined UInteger Var(param_tracer_dynamic_coverage_feedback) Init(95) IntegerRange(0, 100) Param Optimization
The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available.

-param=tracer-max-code-growth=
Common Joined UInteger Var(param_tracer_max_code_growth) Init(100) Param Optimization
Maximal code growth caused by tail duplication (in percent).

-param=tracer-min-branch-probability=
Common Joined UInteger Var(param_tracer_min_branch_probability) Init(50) IntegerRange(0, 100) Param Optimization
Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is not available.

-param=tracer-min-branch-probability-feedback=
Common Joined UInteger Var(param_tracer_min_branch_probability_feedback) Init(80) IntegerRange(0, 100) Param Optimization
Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available.

-param=tracer-min-branch-ratio=
Common Joined UInteger Var(param_tracer_min_branch_ratio) Init(10) IntegerRange(0, 100) Param Optimization
Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent).

-param=tree-reassoc-width=
Common Joined UInteger Var(param_tree_reassoc_width) Param Optimization
Set the maximum number of instructions executed in parallel in reassociated tree.  If 0, use the target dependent heuristic.

-param=tsan-distinguish-volatile=
Common Joined UInteger Var(param_tsan_distinguish_volatile) IntegerRange(0, 1) Param
Emit special instrumentation for accesses to volatiles.

-param=tsan-instrument-func-entry-exit=
Common Joined UInteger Var(param_tsan_instrument_func_entry_exit) Init(1) IntegerRange(0, 1) Param
Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit().

-param=uninit-control-dep-attempts=
Common Joined UInteger Var(param_uninit_control_dep_attempts) Init(1000) IntegerRange(1, 65536) Param Optimization
Maximum number of nested calls to search for control dependencies during uninitialized variable analysis.

-param=uninlined-function-insns=
Common Joined UInteger Var(param_uninlined_function_insns) Init(2) Optimization IntegerRange(0, 1000000) Param
Instruction accounted for function prologue, epilogue and other overhead.

-param=uninlined-function-time=
Common Joined UInteger Var(param_uninlined_function_time) Optimization IntegerRange(0, 1000000) Param
Time accounted for function prologue, epilogue and other overhead.

-param=uninlined-thunk-insns=
Common Joined UInteger Var(param_uninlined_function_thunk_insns) Optimization Init(2) IntegerRange(0, 1000000) Param
Instruction accounted for function thunk overhead.

-param=uninlined-thunk-time=
Common Joined UInteger Var(param_uninlined_function_thunk_time) Optimization Init(2) IntegerRange(0, 1000000) Param
Time accounted for function thunk overhead.

-param=unlikely-bb-count-fraction=
Common Joined UInteger Var(param_unlikely_bb_count_fraction) Init(20) Param Optimization
The denominator n of fraction 1/n of the number of profiled runs of the entire program below which the execution count of a basic block must be in order for the basic block to be considered unlikely.

-param=unroll-jam-max-unroll=
Common Joined UInteger Var(param_unroll_jam_max_unroll) Init(4) Param Optimization
Maximum unroll factor for the unroll-and-jam transformation.

-param=unroll-jam-min-percent=
Common Joined UInteger Var(param_unroll_jam_min_percent) Init(1) IntegerRange(0, 100) Param Optimization
Minimum percentage of memrefs that must go away for unroll-and-jam to be considered profitable.

-param=use-after-scope-direct-emission-threshold=
Common Joined UInteger Var(param_use_after_scope_direct_emission_threshold) Init(256) Param Optimization
Use direct poisoning/unpoisoning instructions for variables smaller or equal to this number.

-param=use-canonical-types=
Common Joined UInteger Var(param_use_canonical_types) Init(1) IntegerRange(0, 1) Param
Whether to use canonical types.

-param=vect-epilogues-nomask=
Common Joined UInteger Var(param_vect_epilogues_nomask) Init(1) IntegerRange(0, 1) Param Optimization
Enable loop epilogue vectorization using smaller vector size.

-param=vect-max-peeling-for-alignment=
Common Joined UInteger Var(param_vect_max_peeling_for_alignment) Init(-1) IntegerRange(-1, 64) Param Optimization
Maximum number of loop peels to enhance alignment of data references in a loop.

-param=vect-max-version-for-alias-checks=
Common Joined UInteger Var(param_vect_max_version_for_alias_checks) Init(10) Param Optimization
Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check.

-param=vect-max-version-for-alignment-checks=
Common Joined UInteger Var(param_vect_max_version_for_alignment_checks) Init(6) Param Optimization
Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check.

-param=vect-partial-vector-usage=
Common Joined UInteger Var(param_vect_partial_vector_usage) Init(2) IntegerRange(0, 2) Param Optimization
Controls how loop vectorizer uses partial vectors.  0 means never, 1 means only for loops whose need to iterate can be removed, 2 means for all loops.  The default value is 2.

-param=vect-inner-loop-cost-factor=
Common Joined UInteger Var(param_vect_inner_loop_cost_factor) Init(50) IntegerRange(1, 10000) Param Optimization
The maximum factor which the loop vectorizer applies to the cost of statements in an inner loop relative to the loop being vectorized.

-param=vrp1-mode=
Common Joined Var(param_vrp1_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optimization
--param=vrp1-mode=[vrp|ranger] Specifies the mode VRP1 should operate in.

-param=vrp2-mode=
Common Joined Var(param_vrp2_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optimization
--param=vrp2-mode=[vrp|ranger] Specifies the mode VRP2 should operate in.

Enum
Name(vrp_mode) Type(enum vrp_mode) UnknownError(unknown vrp mode %qs)

EnumValue
Enum(vrp_mode) String(vrp) Value(VRP_MODE_VRP)

EnumValue
Enum(vrp_mode) String(ranger) Value(VRP_MODE_RANGER)

; This comment is to ensure we retain the blank line above.
