]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/params.opt
Update copyright years.
[thirdparty/gcc.git] / gcc / params.opt
CommitLineData
7e1792c9
ML
1; Parameter options of the compiler.
2
7adcbafe 3; Copyright (C) 2019-2022 Free Software Foundation, Inc.
7e1792c9
ML
4;
5; This file is part of GCC.
6;
7; GCC is free software; you can redistribute it and/or modify it under
8; the terms of the GNU General Public License as published by the Free
9; Software Foundation; either version 3, or (at your option) any later
10; version.
11;
12; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15; for more details.
16;
17; You should have received a copy of the GNU General Public License
18; along with GCC; see the file COPYING3. If not see
19; <http://www.gnu.org/licenses/>.
20
21; See the GCC internals manual (options.texi) for a description of this file's format.
22
23; Please try to keep this file in ASCII collating order.
24
25-param=align-loop-iterations=
5c4177c5 26Common Joined UInteger Var(param_align_loop_iterations) Init(4) Param Optimization
7e1792c9
ML
27Loops iterating at least selected number of iterations will get loop alignment.
28
29-param=align-threshold=
5c4177c5 30Common Joined UInteger Var(param_align_threshold) Init(100) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
31Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment.
32
33-param=asan-globals=
34Common Joined UInteger Var(param_asan_globals) Init(1) IntegerRange(0, 1) Param
35Enable asan globals protection.
36
37-param=asan-instrument-allocas=
5c4177c5 38Common Joined UInteger Var(param_asan_protect_allocas) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
39Enable asan allocas/VLAs protection.
40
41-param=asan-instrument-reads=
5c4177c5 42Common Joined UInteger Var(param_asan_instrument_reads) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
43Enable asan load operations protection.
44
45-param=asan-instrument-writes=
5c4177c5 46Common Joined UInteger Var(param_asan_instrument_writes) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
47Enable asan store operations protection.
48
49-param=asan-instrumentation-with-call-threshold=
5c4177c5 50Common Joined UInteger Var(param_asan_instrumentation_with_call_threshold) Init(7000) Param Optimization
7e1792c9
ML
51Use callbacks instead of inline code if number of accesses in function becomes greater or equal to this number.
52
53-param=asan-memintrin=
5c4177c5 54Common Joined UInteger Var(param_asan_memintrin) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
55Enable asan builtin functions protection.
56
57-param=asan-stack=
5c4177c5 58Common Joined UInteger Var(param_asan_stack) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
59Enable asan stack protection.
60
61-param=asan-use-after-return=
5c4177c5 62Common Joined UInteger Var(param_asan_use_after_return) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
63Enable asan detection of use-after-return bugs.
64
3bd87832
MM
65-param=hwasan-instrument-stack=
66Common Joined UInteger Var(param_hwasan_instrument_stack) Init(1) IntegerRange(0, 1) Param Optimization
67Enable hwasan instrumentation of statically sized stack-allocated variables.
68
69-param=hwasan-random-frame-tag=
70Common Joined UInteger Var(param_hwasan_random_frame_tag) Init(1) IntegerRange(0, 1) Param Optimization
71Use random base tag for each frame, as opposed to base always zero.
72
73-param=hwasan-instrument-allocas=
74Common Joined UInteger Var(param_hwasan_instrument_allocas) Init(1) IntegerRange(0, 1) Param Optimization
75Enable hwasan instrumentation of allocas/VLAs.
76
77-param=hwasan-instrument-reads=
78Common Joined UInteger Var(param_hwasan_instrument_reads) Init(1) IntegerRange(0, 1) Param Optimization
79Enable hwasan instrumentation of load operations.
80
81-param=hwasan-instrument-writes=
82Common Joined UInteger Var(param_hwasan_instrument_writes) Init(1) IntegerRange(0, 1) Param Optimization
83Enable hwasan instrumentation of store operations.
84
85-param=hwasan-instrument-mem-intrinsics=
86Common Joined UInteger Var(param_hwasan_instrument_mem_intrinsics) Init(1) IntegerRange(0, 1) Param Optimization
87Enable hwasan instrumentation of builtin functions.
88
7e1792c9 89-param=avg-loop-niter=
5c4177c5 90Common Joined UInteger Var(param_avg_loop_niter) Init(10) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
91Average number of iterations of a loop.
92
93-param=avoid-fma-max-bits=
5c4177c5 94Common Joined UInteger Var(param_avoid_fma_max_bits) IntegerRange(0, 512) Param Optimization
7e1792c9
ML
95Maximum number of bits for which we avoid creating FMAs.
96
97-param=builtin-expect-probability=
5c4177c5 98Common Joined UInteger Var(param_builtin_expect_probability) Init(90) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
99Set the estimated probability in percentage for builtin expect. The default value is 90% probability.
100
101-param=builtin-string-cmp-inline-length=
5c4177c5 102Common Joined UInteger Var(param_builtin_string_cmp_inline_length) Init(3) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
103The maximum length of a constant string for a builtin string cmp call eligible for inlining. The default value is 3.
104
105-param=case-values-threshold=
5c4177c5 106Common Joined UInteger Var(param_case_values_threshold) Param Optimization
7e1792c9
ML
107The 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.
108
109-param=comdat-sharing-probability=
fdfd7f53 110Common Joined UInteger Var(param_comdat_sharing_probability) Init(20) Param Optimization
7e1792c9
ML
111Probability that COMDAT function will be shared with different compilation unit.
112
113-param=cxx-max-namespaces-for-diagnostic-help=
114Common Joined UInteger Var(param_cxx_max_namespaces_for_diagnostic_help) Init(1000) Param
115Maximum number of namespaces to search for alternatives when name lookup fails.
116
117-param=dse-max-alias-queries-per-store=
5c4177c5 118Common Joined UInteger Var(param_dse_max_alias_queries_per_store) Init(256) Param Optimization
7e1792c9
ML
119Maximum number of queries into the alias oracle per store.
120
121-param=dse-max-object-size=
5c4177c5 122Common Joined UInteger Var(param_dse_max_object_size) Init(256) Param Optimization
7e1792c9
ML
123Maximum size (in bytes) of objects tracked bytewise by dead store elimination.
124
125-param=early-inlining-insns=
9340d345
JH
126Common Joined UInteger Var(param_early_inlining_insns) Init(6) Optimization Param
127Maximal estimated growth of function body caused by early inlining of single call.
7e1792c9 128
9858cd1a
AM
129-param=evrp-sparse-threshold=
130Common Joined UInteger Var(param_evrp_sparse_threshold) Init(800) Optimization Param
131Maximum number of basic blocks before EVRP uses a sparse cache.
132
3ca950c3
AM
133-param=evrp-switch-limit=
134Common Joined UInteger Var(param_evrp_switch_limit) Init(50) Optimization Param
135Maximum number of outgoing edges in a switch before EVRP will not process it.
136
1e247c60 137-param=evrp-mode=
398572c1 138Common Joined Var(param_evrp_mode) Enum(evrp_mode) Init(EVRP_MODE_RVRP_ONLY) Param Optimization
9cb114fd 139--param=evrp-mode=[legacy|ranger|legacy-first|ranger-first] Specifies the mode Early VRP should operate in.
1e247c60
AH
140
141Enum
142Name(evrp_mode) Type(enum evrp_mode) UnknownError(unknown evrp mode %qs)
143
144EnumValue
145Enum(evrp_mode) String(legacy) Value(EVRP_MODE_EVRP_ONLY)
146
147EnumValue
148Enum(evrp_mode) String(ranger) Value(EVRP_MODE_RVRP_ONLY)
149
150EnumValue
151Enum(evrp_mode) String(legacy-first) Value(EVRP_MODE_EVRP_FIRST)
152
153EnumValue
154Enum(evrp_mode) String(ranger-first) Value(EVRP_MODE_RVRP_FIRST)
155
7e1792c9 156-param=fsm-scale-path-blocks=
5c4177c5 157Common Joined UInteger Var(param_fsm_scale_path_blocks) Init(3) IntegerRange(1, 10) Param Optimization
7e1792c9
ML
158Scale factor to apply to the number of blocks in a threading path when comparing to the number of (scaled) statements.
159
160-param=fsm-scale-path-stmts=
5c4177c5 161Common Joined UInteger Var(param_fsm_scale_path_stmts) Init(2) IntegerRange(1, 10) Param Optimization
7e1792c9
ML
162Scale factor to apply to the number of statements in a threading path when comparing to the number of (scaled) blocks.
163
164-param=gcse-after-reload-critical-fraction=
5c4177c5 165Common Joined UInteger Var(param_gcse_after_reload_critical_fraction) Init(10) Param Optimization
7e1792c9
ML
166The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload.
167
168-param=gcse-after-reload-partial-fraction=
5c4177c5 169Common Joined UInteger Var(param_gcse_after_reload_partial_fraction) Init(3) Param Optimization
7e1792c9
ML
170The threshold ratio for performing partial redundancy elimination after reload.
171
172-param=gcse-cost-distance-ratio=
5c4177c5 173Common Joined UInteger Var(param_gcse_cost_distance_ratio) Init(10) Param Optimization
7e1792c9
ML
174Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations.
175
176-param=gcse-unrestricted-cost=
5c4177c5 177Common Joined UInteger Var(param_gcse_unrestricted_cost) Init(3) Param Optimization
7e1792c9
ML
178Cost at which GCSE optimizations will not constraint the distance an expression can travel.
179
180-param=ggc-min-expand=
181Common Joined UInteger Var(param_ggc_min_expand) Init(30) Param
182Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap.
183
184-param=ggc-min-heapsize=
185Common Joined UInteger Var(param_ggc_min_heapsize) Init(4096) Param
186Minimum heap size before we start collecting garbage, in kilobytes.
187
188-param=gimple-fe-computed-hot-bb-threshold=
189Common Joined UInteger Var(param_gimple_fe_computed_hot_bb_threshold) Param
190The number of executions of a basic block which is considered hot. The parameter is used only in GIMPLE FE.
191
192-param=graphite-allow-codegen-errors=
193Common Joined UInteger Var(param_graphite_allow_codegen_errors) IntegerRange(0, 1) Param
194Whether codegen errors should be ICEs when -fchecking.
195
196-param=graphite-max-arrays-per-scop=
5c4177c5 197Common Joined UInteger Var(param_graphite_max_arrays_per_scop) Init(100) Param Optimization
7e1792c9
ML
198Maximum number of arrays per SCoP.
199
200-param=graphite-max-nb-scop-params=
5c4177c5 201Common Joined UInteger Var(param_graphite_max_nb_scop_params) Init(10) Param Optimization
7e1792c9
ML
202Maximum number of parameters in a SCoP.
203
204-param=hash-table-verification-limit=
205Common Joined UInteger Var(param_hash_table_verification_limit) Init(10) Param
206The number of elements for which hash table verification is done for each searched element.
207
208-param=hot-bb-count-fraction=
209Common Joined UInteger Var(param_hot_bb_count_fraction) Init(10000) Param
210The 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).
211
212-param=hot-bb-count-ws-permille=
213Common Joined UInteger Var(param_hot_bb_count_ws_permille) Init(990) IntegerRange(0, 1000) Param
214The 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).
215
216-param=hot-bb-frequency-fraction=
217Common Joined UInteger Var(param_hot_bb_frequency_fraction) Init(1000) Param
218The 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.
219
7e1792c9 220-param=inline-heuristics-hint-percent=
9340d345 221Common Joined UInteger Var(param_inline_heuristics_hint_percent) Init(200) Optimization IntegerRange(100, 1000000) Param
7e1792c9
ML
222The scale (in percents) applied to inline-insns-single and auto limits when heuristics hints that inlining is very profitable.
223
224-param=inline-min-speedup=
9340d345 225Common Joined UInteger Var(param_inline_min_speedup) Init(30) Optimization IntegerRange(0, 100) Param
7e1792c9
ML
226The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.
227
228-param=inline-unit-growth=
9340d345 229Common Joined UInteger Var(param_inline_unit_growth) Init(40) Optimization Param
7e1792c9
ML
230How much can given compilation unit grow because of the inlining (in percent).
231
232-param=integer-share-limit=
233Common Joined UInteger Var(param_integer_share_limit) Init(251) IntegerRange(2, 65536) Param
234The upper bound for sharing integer constants.
235
236-param=ipa-cp-eval-threshold=
fdfd7f53 237Common Joined UInteger Var(param_ipa_cp_eval_threshold) Init(500) Param Optimization
7e1792c9
ML
238Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone.
239
240-param=ipa-cp-loop-hint-bonus=
fdfd7f53 241Common Joined UInteger Var(param_ipa_cp_loop_hint_bonus) Init(64) Param Optimization
7e1792c9
ML
242Compile-time bonus IPA-CP assigns to candidates which make loop bounds or strides known.
243
9b14fc33 244-param=ipa-cp-max-recursive-depth=
fdfd7f53 245Common Joined UInteger Var(param_ipa_cp_max_recursive_depth) Init(8) Param Optimization
9b14fc33
FX
246Maximum depth of recursive cloning for self-recursive function.
247
248-param=ipa-cp-min-recursive-probability=
fdfd7f53 249Common Joined UInteger Var(param_ipa_cp_min_recursive_probability) Init(2) Param Optimization
9b14fc33
FX
250Recursive cloning only when the probability of call being executed exceeds the parameter.
251
ff2b92de
MJ
252-param=ipa-cp-recursive-freq-factor=
253Common Joined UInteger Var(param_ipa_cp_recursive_freq_factor) Init(6) Param Optimization
254When propagating IPA-CP effect estimates, multiply frequencies of recursive edges that that bring back an unchanged value by this factor.
255
7e1792c9 256-param=ipa-cp-recursion-penalty=
fdfd7f53 257Common Joined UInteger Var(param_ipa_cp_recursion_penalty) Init(40) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
258Percentage penalty the recursive functions will receive when they are evaluated for cloning.
259
260-param=ipa-cp-single-call-penalty=
fdfd7f53 261Common Joined UInteger Var(param_ipa_cp_single_call_penalty) Init(15) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
262Percentage penalty functions containing a single call to another function will receive when they are evaluated for cloning.
263
fdfd7f53 264-param=ipa-cp-unit-growth=
12122f94 265Common Joined UInteger Var(param_ipa_cp_unit_growth) Init(10) Param Optimization
fdfd7f53
ML
266How much can given compilation unit grow because of the interprocedural constant propagation (in percent).
267
31584824
MJ
268-param=ipa-cp-large-unit-insns=
269Common Joined UInteger Var(param_ipa_cp_large_unit_insns) Optimization Init(16000) Param
270The size of translation unit that IPA-CP pass considers large.
271
7e1792c9 272-param=ipa-cp-value-list-size=
fdfd7f53 273Common Joined UInteger Var(param_ipa_cp_value_list_size) Init(8) Param Optimization
7e1792c9
ML
274Maximum size of a list of values associated with each parameter for interprocedural constant propagation.
275
ab100825
MJ
276-param=ipa-cp-profile-count-base=
277Common Joined UInteger Var(param_ipa_cp_profile_count_base) Init(10) IntegerRange(0, 100) Param Optimization
278When using profile feedback, use the edge at this percentage position in frequncy histogram as the bases for IPA-CP heuristics.
279
bafcf452 280-param=ipa-jump-function-lookups=
c7b6a758 281Common Joined UInteger Var(param_ipa_jump_function_lookups) Init(8) Param Optimization
a0504b3d 282Maximum number of statements visited during jump function offset discovery.
c7b6a758 283
7e1792c9 284-param=ipa-max-aa-steps=
fdfd7f53 285Common Joined UInteger Var(param_ipa_max_aa_steps) Init(25000) Param Optimization
7e1792c9
ML
286Maximum number of statements that will be visited by IPA formal parameter analysis based on alias analysis in any given function.
287
288-param=ipa-max-agg-items=
de2e0835 289Common Joined UInteger Var(param_ipa_max_agg_items) Init(16) Param Optimization
7e1792c9
ML
290Maximum number of aggregate content items for a parameter in jump functions and lattices.
291
292-param=ipa-max-param-expr-ops=
fdfd7f53 293Common Joined UInteger Var(param_ipa_max_param_expr_ops) Init(10) Param Optimization
7e1792c9
ML
294Maximum number of operations in a parameter expression that can be handled by IPA analysis.
295
67ce9099
MJ
296-param=ipa-max-loop-predicates=
297Common Joined UInteger Var(param_ipa_max_loop_predicates) Init(16) Param Optimization
298Maximum number of different predicates used to track properties of loops in IPA analysis.
299
7e1792c9 300-param=ipa-max-switch-predicate-bounds=
fdfd7f53 301Common Joined UInteger Var(param_ipa_max_switch_predicate_bounds) Init(5) Param Optimization
8def1d52 302Maximal number of boundary endpoints of case ranges of switch statement used during IPA function summary generation.
7e1792c9
ML
303
304-param=ipa-sra-max-replacements=
1a315435 305Common Joined UInteger Var(param_ipa_sra_max_replacements) Optimization Init(8) IntegerRange(0, 16) Param
7e1792c9
ML
306Maximum pieces that IPA-SRA tracks per formal parameter, as a consequence, also the maximum number of replacements of a formal parameter.
307
308-param=ipa-sra-ptr-growth-factor=
fdfd7f53 309Common Joined UInteger Var(param_ipa_sra_ptr_growth_factor) Init(2) Param Optimization
7e1792c9
ML
310Maximum allowed growth of number and total size of new parameters that ipa-sra replaces a pointer to an aggregate with.
311
7e1792c9 312-param=ira-loop-reserved-regs=
5c4177c5 313Common Joined UInteger Var(param_ira_loop_reserved_regs) Init(2) Param Optimization
7e1792c9
ML
314The number of registers in each class kept unused by loop invariant motion.
315
316-param=ira-max-conflict-table-size=
5c4177c5 317Common Joined UInteger Var(param_ira_max_conflict_table_size) Init(1000) Param Optimization
7e1792c9
ML
318Max size of conflict table in MB.
319
320-param=ira-max-loops-num=
5c4177c5 321Common Joined UInteger Var(param_ira_max_loops_num) Init(100) Param Optimization
7e1792c9
ML
322Max loops number for regional RA.
323
8ffe25ee
KL
324-param=ira-consider-dup-in-all-alts=
325Common Joined UInteger Var(param_ira_consider_dup_in_all_alts) Init(1) IntegerRange(0, 1) Param Optimization
326Control 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.
327
7e1792c9 328-param=iv-always-prune-cand-set-bound=
5c4177c5 329Common Joined UInteger Var(param_iv_always_prune_cand_set_bound) Init(10) Param Optimization
7e1792c9
ML
330If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization.
331
332-param=iv-consider-all-candidates-bound=
5c4177c5 333Common Joined UInteger Var(param_iv_consider_all_candidates_bound) Init(40) Param Optimization
7e1792c9
ML
334Bound on number of candidates below that all candidates are considered in iv optimizations.
335
336-param=iv-max-considered-uses=
5c4177c5 337Common Joined UInteger Var(param_iv_max_considered_uses) Init(250) Param Optimization
7e1792c9
ML
338Bound on number of iv uses in loop optimized in iv optimizations.
339
340-param=jump-table-max-growth-ratio-for-size=
5c4177c5 341Common Joined UInteger Var(param_jump_table_max_growth_ratio_for_size) Init(300) Param Optimization
7e1792c9
ML
342The maximum code size growth ratio when expanding into a jump table (in percent). The parameter is used when optimizing for size.
343
344-param=jump-table-max-growth-ratio-for-speed=
5c4177c5 345Common Joined UInteger Var(param_jump_table_max_growth_ratio_for_speed) Init(800) Param Optimization
7e1792c9
ML
346The maximum code size growth ratio when expanding into a jump table (in percent). The parameter is used when optimizing for speed.
347
348-param=l1-cache-line-size=
5c4177c5 349Common Joined UInteger Var(param_l1_cache_line_size) Init(32) Param Optimization
7e1792c9
ML
350The size of L1 cache line.
351
76b75018
JM
352-param=destructive-interference-size=
353Common Joined UInteger Var(param_destruct_interfere_size) Init(0) Param Optimization
354The minimum recommended offset between two concurrently-accessed objects to
355avoid additional performance degradation due to contention introduced by the
356implementation. Typically the L1 cache line size, but can be larger to
357accommodate a variety of target processors with different cache line sizes.
358C++17 code might use this value in structure layout, but is strongly
359discouraged from doing so in public ABIs.
360
361-param=constructive-interference-size=
362Common Joined UInteger Var(param_construct_interfere_size) Init(0) Param Optimization
363The maximum recommended size of contiguous memory occupied by two objects
364accessed with temporal locality by concurrent threads. Typically the L1 cache
365line size, but can be smaller to accommodate a variety of target processors with
366different cache line sizes.
367
7e1792c9 368-param=l1-cache-size=
5c4177c5 369Common Joined UInteger Var(param_l1_cache_size) Init(64) Param Optimization
7e1792c9
ML
370The size of L1 cache.
371
372-param=l2-cache-size=
5c4177c5 373Common Joined UInteger Var(param_l2_cache_size) Init(512) Param Optimization
7e1792c9
ML
374The size of L2 cache.
375
376-param=large-function-growth=
9340d345 377Common Joined UInteger Var(param_large_function_growth) Optimization Init(100) Param
7e1792c9
ML
378Maximal growth due to inlining of large function (in percent).
379
380-param=large-function-insns=
9340d345 381Common Joined UInteger Var(param_large_function_insns) Optimization Init(2700) Param
7e1792c9
ML
382The size of function body to be considered large.
383
384-param=large-stack-frame=
9340d345 385Common Joined UInteger Var(param_large_stack_frame) Init(256) Optimization Param
7e1792c9
ML
386The size of stack frame to be considered large.
387
388-param=large-stack-frame-growth=
9340d345 389Common Joined UInteger Var(param_stack_frame_growth) Optimization Init(1000) Param
7e1792c9
ML
390Maximal stack frame growth due to inlining (in percent).
391
392-param=large-unit-insns=
5c4177c5 393Common Joined UInteger Var(param_large_unit_insns) Optimization Init(10000) Param
7e1792c9
ML
394The size of translation unit to be considered large.
395
6e3603e6
NS
396-param=lazy-modules=
397C++ Joined UInteger Var(param_lazy_modules) Init(32768) Param
398Maximum number of concurrently open C++ module files when lazy loading.
399
7e1792c9 400-param=lim-expensive=
5c4177c5 401Common Joined UInteger Var(param_lim_expensive) Init(20) Param Optimization
7e1792c9
ML
402The minimum cost of an expensive expression in the loop invariant motion.
403
404-param=logical-op-non-short-circuit=
679652a7 405Common Joined UInteger Var(param_logical_op_non_short_circuit) Init(-1) IntegerRange(0, 1) Param
7e1792c9
ML
406True if a non-short-circuit operation is optimal.
407
408-param=loop-block-tile-size=
5c4177c5 409Common Joined UInteger Var(param_loop_block_tile_size) Init(51) Param Optimization
7e1792c9
ML
410Size of tiles for loop blocking.
411
412-param=loop-interchange-max-num-stmts=
5c4177c5 413Common Joined UInteger Var(param_loop_interchange_max_num_stmts) Init(64) Param Optimization
7e1792c9
ML
414The maximum number of stmts in loop nest for loop interchange.
415
416-param=loop-interchange-stride-ratio=
5c4177c5 417Common Joined UInteger Var(param_loop_interchange_stride_ratio) Init(2) Param Optimization
7e1792c9
ML
418The minimum stride ratio for loop interchange to be profitable.
419
420-param=loop-invariant-max-bbs-in-loop=
5c4177c5 421Common Joined UInteger Var(param_loop_invariant_max_bbs_in_loop) Init(10000) Param Optimization
7e1792c9
ML
422Max basic blocks number in loop for loop invariant motion.
423
424-param=loop-max-datarefs-for-datadeps=
5c4177c5 425Common Joined UInteger Var(param_loop_max_datarefs_for_datadeps) Init(1000) Param Optimization
7e1792c9
ML
426Maximum number of datarefs in loop for building loop data dependencies.
427
428-param=loop-versioning-max-inner-insns=
5c4177c5 429Common Joined UInteger Var(param_loop_versioning_max_inner_insns) Init(200) Param Optimization
7e1792c9
ML
430The maximum number of instructions in an inner loop that is being considered for versioning.
431
432-param=loop-versioning-max-outer-insns=
5c4177c5 433Common Joined UInteger Var(param_loop_versioning_max_outer_insns) Init(100) Param Optimization
7e1792c9
ML
434The maximum number of instructions in an outer loop that is being considered for versioning, on top of the instructions in inner loops.
435
436-param=lra-inheritance-ebb-probability-cutoff=
5c4177c5 437Common Joined UInteger Var(param_lra_inheritance_ebb_probability_cutoff) Init(40) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
438Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA.
439
440-param=lra-max-considered-reload-pseudos=
5c4177c5 441Common Joined UInteger Var(param_lra_max_considered_reload_pseudos) Init(500) Param Optimization
7e1792c9
ML
442The max number of reload pseudos which are considered during spilling a non-reload pseudo.
443
444-param=lto-max-partition=
445Common Joined UInteger Var(param_max_partition_size) Init(1000000) Param
446Maximal size of a partition for LTO (in estimated instructions).
447
448-param=lto-max-streaming-parallelism=
449Common Joined UInteger Var(param_max_lto_streaming_parallelism) Init(32) IntegerRange(1, 65536) Param
450maximal number of LTO partitions streamed in parallel.
451
452-param=lto-min-partition=
453Common Joined UInteger Var(param_min_partition_size) Init(10000) Param
454Minimal size of a partition for LTO (in estimated instructions).
455
456-param=lto-partitions=
457Common Joined UInteger Var(param_lto_partitions) Init(128) IntegerRange(1, 65536) Param
458Number of partitions the program should be split to.
459
460-param=max-average-unrolled-insns=
5c4177c5 461Common Joined UInteger Var(param_max_average_unrolled_insns) Init(80) Param Optimization
7e1792c9
ML
462The maximum number of instructions to consider to unroll in a loop on average.
463
464-param=max-combine-insns=
4ce43ba4 465Common Joined UInteger Var(param_max_combine_insns) Init(4) IntegerRange(2, 4) Param Optimization
7e1792c9
ML
466The maximum number of insns combine tries to combine.
467
468-param=max-completely-peel-loop-nest-depth=
5c4177c5 469Common Joined UInteger Var(param_max_unroll_iterations) Init(8) Param Optimization
7e1792c9
ML
470The maximum depth of a loop nest we completely peel.
471
472-param=max-completely-peel-times=
5c4177c5 473Common Joined UInteger Var(param_max_completely_peel_times) Init(16) Param Optimization
7e1792c9
ML
474The maximum number of peelings of a single loop that is peeled completely.
475
476-param=max-completely-peeled-insns=
5c4177c5 477Common Joined UInteger Var(param_max_completely_peeled_insns) Init(200) Param Optimization
7e1792c9
ML
478The maximum number of insns of a completely peeled loop.
479
480-param=max-crossjump-edges=
5c4177c5 481Common Joined UInteger Var(param_max_crossjump_edges) Init(100) Param Optimization
7e1792c9
ML
482The maximum number of incoming edges to consider for crossjumping.
483
484-param=max-cse-insns=
5c4177c5 485Common Joined UInteger Var(param_max_cse_insns) Init(1000) Param Optimization
7e1792c9
ML
486The maximum instructions CSE process before flushing.
487
488-param=max-cse-path-length=
5c4177c5 489Common Joined UInteger Var(param_max_cse_path_length) Init(10) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
490The maximum length of path considered in cse.
491
492-param=max-cselib-memory-locations=
5c4177c5 493Common Joined UInteger Var(param_max_cselib_memory_locations) Init(500) Param Optimization
7e1792c9
ML
494The maximum memory locations recorded by cselib.
495
496-param=max-debug-marker-count=
5c4177c5 497Common Joined UInteger Var(param_max_debug_marker_count) Init(100000) Param Optimization
7e1792c9
ML
498Max. count of debug markers to expand or inline.
499
500-param=max-delay-slot-insn-search=
5c4177c5 501Common Joined UInteger Var(param_max_delay_slot_insn_search) Init(100) Param Optimization
7e1792c9
ML
502The maximum number of instructions to consider to fill a delay slot.
503
504-param=max-delay-slot-live-search=
5c4177c5 505Common Joined UInteger Var(param_max_delay_slot_live_search) Init(333) Param Optimization
7e1792c9
ML
506The maximum number of instructions to consider to find accurate live register information.
507
508-param=max-dse-active-local-stores=
5c4177c5 509Common Joined UInteger Var(param_max_dse_active_local_stores) Init(5000) Param Optimization
7e1792c9
ML
510Maximum number of active local stores in RTL dead store elimination.
511
512-param=max-early-inliner-iterations=
fdfd7f53 513Common Joined UInteger Var(param_early_inliner_max_iterations) Init(1) Param Optimization
7e1792c9
ML
514The maximum number of nested indirect inlining performed by early inliner.
515
516-param=max-fields-for-field-sensitive=
517Common Joined UInteger Var(param_max_fields_for_field_sensitive) Param
518Maximum number of fields in a structure before pointer analysis treats the structure as a single variable.
519
82cd78f2
AH
520-param=max-fsm-thread-length=
521Common Joined UInteger Var(param_max_fsm_thread_length) Init(10) IntegerRange(1, 999999) Param Optimization
522Maximum number of basic blocks on a jump thread path.
523
7e1792c9 524-param=max-fsm-thread-path-insns=
5c4177c5 525Common Joined UInteger Var(param_max_fsm_thread_path_insns) Init(100) IntegerRange(1, 999999) Param Optimization
7e1792c9
ML
526Maximum number of instructions to copy when duplicating blocks on a finite state automaton jump thread path.
527
7e1792c9 528-param=max-gcse-insertion-ratio=
5c4177c5 529Common Joined UInteger Var(param_max_gcse_insertion_ratio) Init(20) Param Optimization
7e1792c9
ML
530The maximum ratio of insertions to deletions of expressions in GCSE.
531
532-param=max-gcse-memory=
0833e3e1
RB
533Common Joined UInteger Var(param_max_gcse_memory) Init(131072) Param Optimization
534The maximum amount of memory to be allocated by GCSE, in kilobytes.
7e1792c9
ML
535
536-param=max-goto-duplication-insns=
5c4177c5 537Common Joined UInteger Var(param_max_goto_duplication_insns) Init(8) Param Optimization
7e1792c9
ML
538The maximum number of insns to duplicate when unfactoring computed gotos.
539
540-param=max-grow-copy-bb-insns=
5c4177c5 541Common Joined UInteger Var(param_max_grow_copy_bb_insns) Init(8) Param Optimization
7e1792c9
ML
542The maximum expansion factor when copying basic blocks.
543
544-param=max-hoist-depth=
5c4177c5 545Common Joined UInteger Var(param_max_hoist_depth) Init(30) Param Optimization
7e1792c9
ML
546Maximum depth of search in the dominator tree for expressions to hoist.
547
f157c536
JH
548-param=max-inline-functions-called-once-loop-depth=
549Common Joined UInteger Var(param_inline_functions_called_once_loop_depth) Init(6) Optimization Param
20777508 550Maximum loop depth of a call which is considered for inlining functions called once.
f157c536
JH
551
552-param=max-inline-functions-called-once-insns=
553Common Joined UInteger Var(param_inline_functions_called_once_insns) Init(4000) Optimization Param
554Maximum combinaed size of caller and callee wich is inlined if callee is called once.
555
7e1792c9 556-param=max-inline-insns-auto=
78a502ca 557Common Joined UInteger Var(param_max_inline_insns_auto) Init(15) Optimization Param
7e1792c9
ML
558The maximum number of instructions when automatically inlining.
559
560-param=max-inline-insns-recursive=
9340d345 561Common Joined UInteger Var(param_max_inline_insns_recursive) Optimization Init(450) Param
7e1792c9
ML
562The maximum number of instructions inline function can grow to via recursive inlining.
563
564-param=max-inline-insns-recursive-auto=
9340d345 565Common Joined UInteger Var(param_max_inline_insns_recursive_auto) Optimization Init(450) Param
7e1792c9
ML
566The maximum number of instructions non-inline function can grow to via recursive inlining.
567
568-param=max-inline-insns-single=
9340d345 569Common Joined UInteger Var(param_max_inline_insns_single) Optimization Init(70) Param
7e1792c9
ML
570The maximum number of instructions in a single function eligible for inlining.
571
572-param=max-inline-insns-size=
9340d345 573Common Joined UInteger Var(param_max_inline_insns_size) Optimization Param
7e1792c9
ML
574The maximum number of instructions when inlining for size.
575
576-param=max-inline-insns-small=
9340d345 577Common Joined UInteger Var(param_max_inline_insns_small) Optimization Param
7e1792c9
ML
578The maximum number of instructions when automatically inlining small functions.
579
580-param=max-inline-recursive-depth=
9340d345 581Common Joined UInteger Var(param_max_inline_recursive_depth) Optimization Init(8) Param
7e1792c9
ML
582The maximum depth of recursive inlining for inline functions.
583
584-param=max-inline-recursive-depth-auto=
9340d345 585Common Joined UInteger Var(param_max_inline_recursive_depth_auto) Optimization Init(8) Param
7e1792c9
ML
586The maximum depth of recursive inlining for non-inline functions.
587
588-param=max-isl-operations=
5c4177c5 589Common Joined UInteger Var(param_max_isl_operations) Init(350000) Param Optimization
7e1792c9
ML
590Maximum number of isl operations, 0 means unlimited.
591
592-param=max-iterations-computation-cost=
5c4177c5 593Common Joined UInteger Var(param_max_iterations_computation_cost) Init(10) Param Optimization
7e1792c9
ML
594Bound on the cost of an expression to compute the number of iterations.
595
596-param=max-iterations-to-track=
5c4177c5 597Common Joined UInteger Var(param_max_iterations_to_track) Init(1000) Param Optimization
7e1792c9
ML
598Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates.
599
600-param=max-jump-thread-duplication-stmts=
5c4177c5 601Common Joined UInteger Var(param_max_jump_thread_duplication_stmts) Init(15) Param Optimization
7e1792c9
ML
602Maximum number of statements allowed in a block that needs to be duplicated when threading jumps.
603
604-param=max-last-value-rtl=
5c4177c5 605Common Joined UInteger Var(param_max_last_value_rtl) Init(10000) Param Optimization
7e1792c9
ML
606The maximum number of RTL nodes that can be recorded as combiner's last value.
607
608-param=max-loop-header-insns=
5c4177c5 609Common Joined UInteger Var(param_max_loop_header_insns) Init(20) Param Optimization
7e1792c9
ML
610The maximum number of insns in loop header duplicated by the copy loop headers pass.
611
612-param=max-modulo-backtrack-attempts=
5c4177c5 613Common Joined UInteger Var(param_max_modulo_backtrack_attempts) Init(40) Param Optimization
7e1792c9
ML
614The maximum number of backtrack attempts the scheduler should make when modulo scheduling a loop.
615
616-param=max-partial-antic-length=
5c4177c5 617Common Joined UInteger Var(param_max_partial_antic_length) Init(100) Param Optimization
7e1792c9
ML
618Maximum length of partial antic set when performing tree pre optimization.
619
620-param=max-peel-branches=
5c4177c5 621Common Joined UInteger Var(param_max_peel_branches) Init(32) Param Optimization
7e1792c9
ML
622The maximum number of branches on the path through the peeled sequence.
623
624-param=max-peel-times=
5c4177c5 625Common Joined UInteger Var(param_max_peel_times) Init(16) Param Optimization
7e1792c9
ML
626The maximum number of peelings of a single loop.
627
628-param=max-peeled-insns=
5c4177c5 629Common Joined UInteger Var(param_max_peeled_insns) Init(100) Param Optimization
7e1792c9
ML
630The maximum number of insns of a peeled loop.
631
632-param=max-pending-list-length=
5c4177c5 633Common Joined UInteger Var(param_max_pending_list_length) Init(32) Param Optimization
7e1792c9
ML
634The maximum length of scheduling's pending operations list.
635
636-param=max-pipeline-region-blocks=
5c4177c5 637Common Joined UInteger Var(param_max_pipeline_region_blocks) Init(15) Param Optimization
7e1792c9
ML
638The maximum number of blocks in a region to be considered for interblock scheduling.
639
640-param=max-pipeline-region-insns=
5c4177c5 641Common Joined UInteger Var(param_max_pipeline_region_insns) Init(200) Param Optimization
7e1792c9
ML
642The maximum number of insns in a region to be considered for interblock scheduling.
643
644-param=max-pow-sqrt-depth=
5c4177c5 645Common Joined UInteger Var(param_max_pow_sqrt_depth) Init(5) IntegerRange(1, 32) Param Optimization
7e1792c9
ML
646Maximum depth of sqrt chains to use when synthesizing exponentiation by a real constant.
647
648-param=max-predicted-iterations=
b6a0ebd1 649Common Joined UInteger Var(param_max_predicted_iterations) Init(100) IntegerRange(0, 65536) Param Optimization
7e1792c9
ML
650The maximum number of loop iterations we predict statically.
651
652-param=max-reload-search-insns=
5c4177c5 653Common Joined UInteger Var(param_max_reload_search_insns) Init(100) Param Optimization
7e1792c9
ML
654The maximum number of instructions to search backward when looking for equivalent reload.
655
656-param=max-rtl-if-conversion-insns=
5c4177c5 657Common Joined UInteger Var(param_max_rtl_if_conversion_insns) Init(10) IntegerRange(0, 99) Param Optimization
7e1792c9
ML
658Maximum number of insns in a basic block to consider for RTL if-conversion.
659
660-param=max-rtl-if-conversion-predictable-cost=
5c4177c5 661Common Joined UInteger Var(param_max_rtl_if_conversion_predictable_cost) Init(20) IntegerRange(0, 200) Param Optimization
7e1792c9
ML
662Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered predictable.
663
664-param=max-rtl-if-conversion-unpredictable-cost=
5c4177c5 665Common Joined UInteger Var(param_max_rtl_if_conversion_unpredictable_cost) Init(40) IntegerRange(0, 200) Param Optimization
7e1792c9
ML
666Maximum permissible cost for the sequence that would be generated by the RTL if-conversion pass for a branch that is considered unpredictable.
667
668-param=max-sched-extend-regions-iters=
5c4177c5 669Common Joined UInteger Var(param_max_sched_extend_regions_iters) Param Optimization
7e1792c9
ML
670The maximum number of iterations through CFG to extend regions.
671
672-param=max-sched-insn-conflict-delay=
5c4177c5 673Common Joined UInteger Var(param_max_sched_insn_conflict_delay) Init(3) IntegerRange(1, 10) Param Optimization
7e1792c9
ML
674The maximum conflict delay for an insn to be considered for speculative motion.
675
676-param=max-sched-ready-insns=
5c4177c5 677Common Joined UInteger Var(param_max_sched_ready_insns) Init(100) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
678The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass.
679
680-param=max-sched-region-blocks=
5c4177c5 681Common Joined UInteger Var(param_max_sched_region_blocks) Init(10) Param Optimization
7e1792c9
ML
682The maximum number of blocks in a region to be considered for interblock scheduling.
683
684-param=max-sched-region-insns=
5c4177c5 685Common Joined UInteger Var(param_max_sched_region_insns) Init(100) Param Optimization
7e1792c9
ML
686The maximum number of insns in a region to be considered for interblock scheduling.
687
688-param=max-slsr-cand-scan=
5c4177c5 689Common Joined UInteger Var(param_max_slsr_candidate_scan) Init(50) IntegerRange(1, 999999) Param Optimization
7e1792c9
ML
690Maximum length of candidate scans for straight-line strength reduction.
691
692-param=max-speculative-devirt-maydefs=
87f9579a 693Common Joined UInteger Var(param_max_speculative_devirt_maydefs) Init(50) Param Optimization
7e1792c9
ML
694Maximum number of may-defs visited when devirtualizing speculatively.
695
696-param=max-ssa-name-query-depth=
697Common Joined UInteger Var(param_max_ssa_name_query_depth) Init(3) IntegerRange(1, 10) Param
698Maximum recursion depth allowed when querying a property of an SSA name.
699
700-param=max-stores-to-merge=
5c4177c5 701Common Joined UInteger Var(param_max_stores_to_merge) Init(64) IntegerRange(2, 65536) Param Optimization
7e1792c9
ML
702Maximum number of constant stores to merge in the store merging pass.
703
704-param=max-stores-to-sink=
5c4177c5 705Common Joined UInteger Var(param_max_stores_to_sink) Init(2) Param Optimization
7e1792c9
ML
706Maximum number of conditional store pairs that can be sunk.
707
95d94b52 708-param=max-store-chains-to-track=
26cedbce 709Common Joined UInteger Var(param_max_store_chains_to_track) Init(64) IntegerRange(1, 65536) Param
95d94b52
RB
710Maximum number of store chains to track at the same time in the store merging pass.
711
712-param=max-stores-to-track=
26cedbce 713Common Joined UInteger Var(param_max_stores_to_track) Init(1024) IntegerRange(2, 1048576) Param
95d94b52
RB
714Maximum number of store chains to track at the same time in the store merging pass.
715
7e1792c9 716-param=max-tail-merge-comparisons=
5c4177c5 717Common Joined UInteger Var(param_max_tail_merge_comparisons) Init(10) Param Optimization
7e1792c9
ML
718Maximum amount of similar bbs to compare a bb with.
719
720-param=max-tail-merge-iterations=
5c4177c5 721Common Joined UInteger Var(param_max_tail_merge_iterations) Init(2) Param Optimization
7e1792c9
ML
722Maximum amount of iterations of the pass over a function.
723
724-param=max-tracked-strlens=
5c4177c5 725Common Joined UInteger Var(param_max_tracked_strlens) Init(10000) Param Optimization
7e1792c9
ML
726Maximum number of strings for which strlen optimization pass will track string lengths.
727
728-param=max-tree-if-conversion-phi-args=
5c4177c5 729Common Joined UInteger Var(param_max_tree_if_conversion_phi_args) Init(4) IntegerRange(2, 65536) Param Optimization
7e1792c9
ML
730Maximum number of arguments in a PHI supported by TREE if-conversion unless the loop is marked with simd pragma.
731
732-param=max-unroll-times=
5c4177c5 733Common Joined UInteger Var(param_max_unroll_times) Init(8) Param Optimization
7e1792c9
ML
734The maximum number of unrollings of a single loop.
735
736-param=max-unrolled-insns=
5c4177c5 737Common Joined UInteger Var(param_max_unrolled_insns) Init(200) Param Optimization
7e1792c9
ML
738The maximum number of instructions to consider to unroll in a loop.
739
740-param=max-unswitch-insns=
5c4177c5 741Common Joined UInteger Var(param_max_unswitch_insns) Init(50) Param Optimization
7e1792c9
ML
742The maximum number of insns of an unswitched loop.
743
744-param=max-unswitch-level=
5c4177c5 745Common Joined UInteger Var(param_max_unswitch_level) Init(3) Param Optimization
7e1792c9
ML
746The maximum number of unswitchings in a single loop.
747
748-param=max-variable-expansions-in-unroller=
5c4177c5 749Common Joined UInteger Var(param_max_variable_expansions) Init(1) Param Optimization
7e1792c9
ML
750If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling.
751
752-param=max-vartrack-expr-depth=
5c4177c5 753Common Joined UInteger Var(param_max_vartrack_expr_depth) Init(12) Param Optimization
7e1792c9
ML
754Max. recursion depth for expanding var tracking expressions.
755
756-param=max-vartrack-reverse-op-size=
5c4177c5 757Common Joined UInteger Var(param_max_vartrack_reverse_op_size) Init(50) Param Optimization
7e1792c9
ML
758Max. size of loc list for which reverse ops should be added.
759
760-param=max-vartrack-size=
5c4177c5 761Common Joined UInteger Var(param_max_vartrack_size) Init(50000000) Param Optimization
7e1792c9
ML
762Max. size of var tracking hash tables.
763
2e94d3ee 764-param=max-find-base-term-values=
86c92411 765Common Joined UInteger Var(param_max_find_base_term_values) Init(200) Param Optimization
2e94d3ee
JJ
766Maximum number of VALUEs handled during a single find_base_term call.
767
7e1792c9 768-param=max-vrp-switch-assertions=
5c4177c5 769Common Joined UInteger Var(param_max_vrp_switch_assertions) Init(10) Param Optimization
7e1792c9
ML
770Maximum number of assertions to add along the default edge of a switch statement during VRP.
771
772-param=min-crossjump-insns=
5dbaaa20 773Common Joined UInteger Var(param_min_crossjump_insns) Init(5) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
774The minimum number of matching instructions to consider for crossjumping.
775
776-param=min-inline-recursive-probability=
9340d345 777Common Joined UInteger Var(param_min_inline_recursive_probability) Init(10) Optimization Param
7e1792c9
ML
778Inline recursively only when the probability of call being executed exceeds the parameter.
779
780-param=min-insn-to-prefetch-ratio=
5c4177c5 781Common Joined UInteger Var(param_min_insn_to_prefetch_ratio) Init(9) Param Optimization
7e1792c9
ML
782Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count.
783
784-param=min-loop-cond-split-prob=
5c4177c5 785Common Joined UInteger Var(param_min_loop_cond_split_prob) Init(30) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
786The minimum threshold for probability of semi-invariant condition statement to trigger loop split.
787
788-param=min-nondebug-insn-uid=
789Common Joined UInteger Var(param_min_nondebug_insn_uid) Param
790The minimum UID to be used for a nondebug insn.
791
792-param=min-size-for-stack-sharing=
5c4177c5 793Common Joined UInteger Var(param_min_size_for_stack_sharing) Init(32) Param Optimization
7e1792c9
ML
794The minimum size of variables taking part in stack slot sharing when not optimizing.
795
796-param=min-spec-prob=
5c4177c5 797Common Joined UInteger Var(param_min_spec_prob) Init(40) Param Optimization
7e1792c9
ML
798The minimum probability of reaching a source block for interblock speculative scheduling.
799
800-param=min-vect-loop-bound=
5c4177c5 801Common Joined UInteger Var(param_min_vect_loop_bound) Param Optimization
7e1792c9
ML
802If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization.
803
3395dfc4
TS
804-param=openacc-kernels=
805Common Joined Enum(openacc_kernels) Var(param_openacc_kernels) Init(OPENACC_KERNELS_PARLOOPS) Param
806--param=openacc-kernels=[decompose|parloops] Specify mode of OpenACC 'kernels' constructs handling.
807
808Enum
809Name(openacc_kernels) Type(enum openacc_kernels)
810
811EnumValue
812Enum(openacc_kernels) String(decompose) Value(OPENACC_KERNELS_DECOMPOSE)
813
814EnumValue
815Enum(openacc_kernels) String(parloops) Value(OPENACC_KERNELS_PARLOOPS)
816
11b8286a
TS
817-param=openacc-privatization=
818Common Joined Enum(openacc_privatization) Var(param_openacc_privatization) Init(OPENACC_PRIVATIZATION_QUIET) Param
819--param=openacc-privatization=[quiet|noisy] Specify mode of OpenACC privatization diagnostics.
820
821Enum
822Name(openacc_privatization) Type(enum openacc_privatization)
823
824EnumValue
825Enum(openacc_privatization) String(quiet) Value(OPENACC_PRIVATIZATION_QUIET)
826
827EnumValue
828Enum(openacc_privatization) String(noisy) Value(OPENACC_PRIVATIZATION_NOISY)
829
7e1792c9 830-param=parloops-chunk-size=
5c4177c5 831Common Joined UInteger Var(param_parloops_chunk_size) Param Optimization
7e1792c9
ML
832Chunk size of omp schedule for loops parallelized by parloops.
833
834-param=parloops-min-per-thread=
5c4177c5 835Common Joined UInteger Var(param_parloops_min_per_thread) Init(100) IntegerRange(2, 65536) Param Optimization
7e1792c9
ML
836Minimum number of iterations per thread of an innermost parallelized loop.
837
838-param=parloops-schedule=
5c4177c5 839Common Joined Var(param_parloops_schedule) Enum(parloops_schedule_type) Param Optimization
7e1792c9
ML
840--param=parloops-schedule=[static|dynamic|guided|auto|runtime] Schedule type of omp schedule for loops parallelized by parloops.
841
842Enum
843Name(parloops_schedule_type) Type(int)
844
845EnumValue
846Enum(parloops_schedule_type) String(static) Value(PARLOOPS_SCHEDULE_STATIC)
847
848EnumValue
849Enum(parloops_schedule_type) String(dynamic) Value(PARLOOPS_SCHEDULE_DYNAMIC)
850
851EnumValue
852Enum(parloops_schedule_type) String(guided) Value(PARLOOPS_SCHEDULE_GUIDED)
853
854EnumValue
855Enum(parloops_schedule_type) String(auto) Value(PARLOOPS_SCHEDULE_AUTO)
856
857EnumValue
858Enum(parloops_schedule_type) String(runtime) Value(PARLOOPS_SCHEDULE_RUNTIME)
859
860-param=partial-inlining-entry-probability=
9340d345 861Common Joined UInteger Var(param_partial_inlining_entry_probability) Init(70) Optimization IntegerRange(0, 100) Param
7e1792c9
ML
862Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen.
863
864-param=predictable-branch-outcome=
5c4177c5 865Common Joined UInteger Var(param_predictable_branch_outcome) Init(2) IntegerRange(0, 50) Param Optimization
7e1792c9
ML
866Maximal estimated outcome of branch considered predictable.
867
868-param=prefetch-dynamic-strides=
5c4177c5 869Common Joined UInteger Var(param_prefetch_dynamic_strides) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
870Whether software prefetch hints should be issued for non-constant strides.
871
872-param=prefetch-latency=
5c4177c5 873Common Joined UInteger Var(param_prefetch_latency) Init(200) Param Optimization
7e1792c9
ML
874The number of insns executed before prefetch is completed.
875
876-param=prefetch-min-insn-to-mem-ratio=
5c4177c5 877Common Joined UInteger Var(param_prefetch_min_insn_to_mem_ratio) Init(3) Param Optimization
7e1792c9
ML
878Min. ratio of insns to mem ops to enable prefetching in a loop.
879
880-param=prefetch-minimum-stride=
5c4177c5 881Common Joined UInteger Var(param_prefetch_minimum_stride) Init(-1) Param Optimization
7e1792c9
ML
882The minimum constant stride beyond which we should use prefetch hints for.
883
884-param=profile-func-internal-id=
885Common Joined UInteger Var(param_profile_func_internal_id) IntegerRange(0, 1) Param
886Use internal function id in profile lookup.
887
9cb114fd
AM
888-param=ranger-debug=
889Common Joined Var(param_ranger_debug) Enum(ranger_debug) Init(RANGER_DEBUG_NONE) Param Optimization
890--param=ranger-debug=[none|trace|gori|cache|tracegori|all] Specifies the output mode for debugging ranger.
891
892Enum
893Name(ranger_debug) Type(enum ranger_debug) UnknownError(unknown ranger debug mode %qs)
894
895EnumValue
896Enum(ranger_debug) String(none) Value(RANGER_DEBUG_NONE)
897
898EnumValue
899Enum(ranger_debug) String(trace) Value(RANGER_DEBUG_TRACE)
900
901EnumValue
2bfb21bb 902Enum(ranger_debug) String(cache) Value(RANGER_DEBUG_TRACE_CACHE)
9cb114fd
AM
903
904EnumValue
905Enum(ranger_debug) String(gori) Value(RANGER_DEBUG_GORI)
906
907EnumValue
908Enum(ranger_debug) String(tracegori) Value(RANGER_DEBUG_TRACE_GORI)
909
910EnumValue
911Enum(ranger_debug) String(all) Value(RANGER_DEBUG_ALL)
912
913-param=ranger-logical-depth=
914Common Joined UInteger Var(param_ranger_logical_depth) Init(6) IntegerRange(1, 999) Param Optimization
915Maximum depth of logical expression evaluation ranger will look through when
916evaluating outgoing edge ranges.
917
7e1792c9 918-param=rpo-vn-max-loop-depth=
5c4177c5 919Common Joined UInteger Var(param_rpo_vn_max_loop_depth) Init(7) IntegerRange(2, 65536) Param Optimization
7e1792c9
ML
920Maximum depth of a loop nest to fully value-number optimistically.
921
922-param=sccvn-max-alias-queries-per-access=
5c4177c5 923Common Joined UInteger Var(param_sccvn_max_alias_queries_per_access) Init(1000) Param Optimization
7e1792c9
ML
924Maximum number of disambiguations to perform per memory access.
925
926-param=scev-max-expr-complexity=
5c4177c5 927Common Joined UInteger Var(param_scev_max_expr_complexity) Init(10) Param Optimization
7e1792c9
ML
928Bound on the complexity of the expressions in the scalar evolutions analyzer.
929
930-param=scev-max-expr-size=
5c4177c5 931Common Joined UInteger Var(param_scev_max_expr_size) Init(100) Param Optimization
7e1792c9
ML
932Bound on size of expressions used in the scalar evolutions analyzer.
933
934-param=sched-autopref-queue-depth=
5c4177c5 935Common Joined UInteger Var(param_sched_autopref_queue_depth) Init(-1) Param Optimization
7e1792c9
ML
936Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into, at '0' only enable instruction sorting heuristic. Disabled by default.
937
938-param=sched-mem-true-dep-cost=
5c4177c5 939Common Joined UInteger Var(param_sched_mem_true_dep_cost) Init(1) Param Optimization
7e1792c9
ML
940Minimal distance between possibly conflicting store and load.
941
942-param=sched-pressure-algorithm=
5c4177c5 943Common Joined UInteger Var(param_sched_pressure_algorithm) Init(1) IntegerRange(1, 2) Param Optimization
7e1792c9
ML
944Which -fsched-pressure algorithm to apply.
945
946-param=sched-spec-prob-cutoff=
5c4177c5 947Common Joined UInteger Var(param_sched_spec_prob_cutoff) Init(40) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
948The minimal probability of speculation success (in percents), so that speculative insn will be scheduled.
949
950-param=sched-state-edge-prob-cutoff=
5c4177c5 951Common Joined UInteger Var(param_sched_state_edge_prob_cutoff) Init(10) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
952The minimum probability an edge must have for the scheduler to save its state across it.
953
954-param=selsched-insns-to-rename=
5c4177c5 955Common Joined UInteger Var(param_selsched_insns_to_rename) Init(2) Param Optimization
7e1792c9
ML
956Maximum number of instructions in the ready list that are considered eligible for renaming.
957
958-param=selsched-max-lookahead=
5c4177c5 959Common Joined UInteger Var(param_selsched_max_lookahead) Init(50) Param Optimization
7e1792c9
ML
960The maximum size of the lookahead window of selective scheduling.
961
962-param=selsched-max-sched-times=
5c4177c5 963Common Joined UInteger Var(param_selsched_max_sched_times) Init(2) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
964Maximum number of times that an insn could be scheduled.
965
966-param=simultaneous-prefetches=
5c4177c5 967Common Joined UInteger Var(param_simultaneous_prefetches) Init(3) Param Optimization
7e1792c9
ML
968The number of prefetches that can run at the same time.
969
970-param=sink-frequency-threshold=
5c4177c5 971Common Joined UInteger Var(param_sink_frequency_threshold) Init(75) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
972Target block's relative execution frequency (as a percentage) required to sink a statement.
973
7e1792c9 974-param=sms-dfa-history=
5c4177c5 975Common Joined UInteger Var(param_sms_dfa_history) IntegerRange(0, 16) Param Optimization
7e1792c9
ML
976The number of cycles the swing modulo scheduler considers when checking conflicts using DFA.
977
978-param=sms-loop-average-count-threshold=
5c4177c5 979Common Joined UInteger Var(param_sms_loop_average_count_threshold) Param Optimization
7e1792c9
ML
980A threshold on the average loop count considered by the swing modulo scheduler.
981
982-param=sms-max-ii-factor=
5c4177c5 983Common Joined UInteger Var(param_sms_max_ii_factor) Init(2) IntegerRange(1, 16) Param Optimization
7e1792c9
ML
984A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop.
985
986-param=sms-min-sc=
5c4177c5 987Common Joined UInteger Var(param_sms_min_sc) Init(2) IntegerRange(1, 2) Param Optimization
7e1792c9
ML
988The minimum value of stage count that swing modulo scheduler will generate.
989
990-param=sra-max-scalarization-size-Osize=
5c4177c5 991Common Joined UInteger Var(param_sra_max_scalarization_size_size) Param Optimization
7e1792c9
ML
992Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for size.
993
994-param=sra-max-scalarization-size-Ospeed=
5c4177c5 995Common Joined UInteger Var(param_sra_max_scalarization_size_speed) Param Optimization
7e1792c9
ML
996Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for speed.
997
29f23ed7
MJ
998-param=sra-max-propagations=
999Common Joined UInteger Var(param_sra_max_propagations) Param Optimization Init(32)
1000Maximum number of artificial accesses to enable forward propagation that Scalar Replacement of Aggregates will keep for one local variable.
1001
7e1792c9 1002-param=ssa-name-def-chain-limit=
5c4177c5 1003Common Joined UInteger Var(param_ssa_name_def_chain_limit) Init(512) Param Optimization
7e1792c9
ML
1004The maximum number of SSA_NAME assignments to follow in determining a value.
1005
1006-param=ssp-buffer-size=
5c4177c5 1007Common Joined UInteger Var(param_ssp_buffer_size) Init(8) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
1008The lower bound for a buffer to be considered for stack smashing protection.
1009
1010-param=stack-clash-protection-guard-size=
5c4177c5 1011Common Joined UInteger Var(param_stack_clash_protection_guard_size) Init(12) IntegerRange(12, 30) Param Optimization
7e1792c9
ML
1012Size of the stack guard expressed as a power of two in bytes.
1013
1014-param=stack-clash-protection-probe-interval=
5c4177c5 1015Common Joined UInteger Var(param_stack_clash_protection_probe_interval) Init(12) IntegerRange(10, 16) Param Optimization
7e1792c9
ML
1016Interval in which to probe the stack expressed as a power of two in bytes.
1017
1018-param=store-merging-allow-unaligned=
5c4177c5 1019Common Joined UInteger Var(param_store_merging_allow_unaligned) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
1020Allow the store merging pass to introduce unaligned stores if it is legal to do so.
1021
1022-param=store-merging-max-size=
5c4177c5 1023Common Joined UInteger Var(param_store_merging_max_size) Init(65536) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
1024Maximum size of a single store merging region in bytes.
1025
1026-param=switch-conversion-max-branch-ratio=
5c4177c5 1027Common Joined UInteger Var(param_switch_conversion_branch_ratio) Init(8) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
1028The maximum ratio between array size and switch branches for a switch conversion to take place.
1029
d119f34c 1030-param=modref-max-bases=
63496cbe 1031Common Joined UInteger Var(param_modref_max_bases) Init(32) Param Optimization
d119f34c
JH
1032Maximum number of bases stored in each modref tree.
1033
1034-param=modref-max-refs=
63496cbe 1035Common Joined UInteger Var(param_modref_max_refs) Init(16) Param Optimization
c33f4742
JH
1036Maximum number of references stored in each modref base.
1037
1038-param=modref-max-accesses=
63496cbe 1039Common Joined UInteger Var(param_modref_max_accesses) Init(16) Param Optimization
c8d13835 1040Maximum number of accesses stored in each modref reference.
d119f34c
JH
1041
1042-param=modref-max-tests=
63496cbe 1043Common Joined UInteger Var(param_modref_max_tests) Init(64) Param Optimization
46a27415 1044Maximum number of tests performed by modref query.
d119f34c 1045
520d5ad3 1046-param=modref-max-depth=
87e57378 1047Common Joined UInteger Var(param_modref_max_depth) Init(256) IntegerRange(1, 65536) Param Optimization
9b2e9a0a 1048Maximum depth of DFS walk used by modref escape analysis.
520d5ad3 1049
85ebbabd
JH
1050-param=modref-max-escape-points=
1051Common Joined UInteger Var(param_modref_max_escape_points) Init(256) Param Optimization
a71a2255 1052Maximum number of escape points tracked by modref per SSA-name.
85ebbabd 1053
5c85f295 1054-param=modref-max-adjustments=
87e57378 1055Common Joined UInteger Var(param_modref_max_adjustments) Init(8) IntegerRange(0, 254) Param Optimization
c80d7230 1056Maximum number of times a given range is adjusted during the dataflow.
5c85f295 1057
47c2cf3a
AH
1058-param=threader-debug=
1059Common Joined Var(param_threader_debug) Enum(threader_debug) Init(THREADER_DEBUG_NONE) Param Optimization
1060--param=threader-debug=[none|all] Enables verbose dumping of the threader solver.
1061
1062Enum
1063Name(threader_debug) Type(enum threader_debug) UnknownError(unknown threader debug mode %qs)
1064
1065EnumValue
1066Enum(threader_debug) String(none) Value(THREADER_DEBUG_NONE)
1067
1068EnumValue
1069Enum(threader_debug) String(all) Value(THREADER_DEBUG_ALL)
1070
7e1792c9 1071-param=tm-max-aggregate-size=
5c4177c5 1072Common Joined UInteger Var(param_tm_max_aggregate_size) Init(9) Param Optimization
7e1792c9
ML
1073Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs.
1074
1075-param=tracer-dynamic-coverage=
5c4177c5 1076Common Joined UInteger Var(param_tracer_dynamic_coverage) Init(75) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
1077The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available.
1078
1079-param=tracer-dynamic-coverage-feedback=
5c4177c5 1080Common Joined UInteger Var(param_tracer_dynamic_coverage_feedback) Init(95) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
1081The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available.
1082
1083-param=tracer-max-code-growth=
5c4177c5 1084Common Joined UInteger Var(param_tracer_max_code_growth) Init(100) Param Optimization
7e1792c9
ML
1085Maximal code growth caused by tail duplication (in percent).
1086
1087-param=tracer-min-branch-probability=
5c4177c5 1088Common Joined UInteger Var(param_tracer_min_branch_probability) Init(50) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
1089Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is not available.
1090
1091-param=tracer-min-branch-probability-feedback=
5c4177c5 1092Common Joined UInteger Var(param_tracer_min_branch_probability_feedback) Init(80) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
1093Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available.
1094
1095-param=tracer-min-branch-ratio=
5c4177c5 1096Common Joined UInteger Var(param_tracer_min_branch_ratio) Init(10) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
1097Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent).
1098
1099-param=tree-reassoc-width=
5c4177c5 1100Common Joined UInteger Var(param_tree_reassoc_width) Param Optimization
7e1792c9
ML
1101Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic.
1102
ab2789ec
ME
1103-param=tsan-distinguish-volatile=
1104Common Joined UInteger Var(param_tsan_distinguish_volatile) IntegerRange(0, 1) Param
1105Emit special instrumentation for accesses to volatiles.
1106
06712fc6
ME
1107-param=tsan-instrument-func-entry-exit=
1108Common Joined UInteger Var(param_tsan_instrument_func_entry_exit) Init(1) IntegerRange(0, 1) Param
1109Emit instrumentation calls to __tsan_func_entry() and __tsan_func_exit().
1110
7e1792c9 1111-param=uninit-control-dep-attempts=
5c4177c5 1112Common Joined UInteger Var(param_uninit_control_dep_attempts) Init(1000) IntegerRange(1, 65536) Param Optimization
7e1792c9
ML
1113Maximum number of nested calls to search for control dependencies during uninitialized variable analysis.
1114
1115-param=uninlined-function-insns=
9340d345 1116Common Joined UInteger Var(param_uninlined_function_insns) Init(2) Optimization IntegerRange(0, 1000000) Param
7e1792c9
ML
1117Instruction accounted for function prologue, epilogue and other overhead.
1118
1119-param=uninlined-function-time=
9340d345 1120Common Joined UInteger Var(param_uninlined_function_time) Optimization IntegerRange(0, 1000000) Param
7e1792c9
ML
1121Time accounted for function prologue, epilogue and other overhead.
1122
1123-param=uninlined-thunk-insns=
9340d345 1124Common Joined UInteger Var(param_uninlined_function_thunk_insns) Optimization Init(2) IntegerRange(0, 1000000) Param
7e1792c9
ML
1125Instruction accounted for function thunk overhead.
1126
1127-param=uninlined-thunk-time=
9340d345 1128Common Joined UInteger Var(param_uninlined_function_thunk_time) Optimization Init(2) IntegerRange(0, 1000000) Param
7e1792c9
ML
1129Time accounted for function thunk overhead.
1130
1131-param=unlikely-bb-count-fraction=
5c4177c5 1132Common Joined UInteger Var(param_unlikely_bb_count_fraction) Init(20) Param Optimization
7e1792c9
ML
1133The 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.
1134
1135-param=unroll-jam-max-unroll=
5c4177c5 1136Common Joined UInteger Var(param_unroll_jam_max_unroll) Init(4) Param Optimization
7e1792c9
ML
1137Maximum unroll factor for the unroll-and-jam transformation.
1138
1139-param=unroll-jam-min-percent=
5c4177c5 1140Common Joined UInteger Var(param_unroll_jam_min_percent) Init(1) IntegerRange(0, 100) Param Optimization
7e1792c9
ML
1141Minimum percentage of memrefs that must go away for unroll-and-jam to be considered profitable.
1142
1143-param=use-after-scope-direct-emission-threshold=
5c4177c5 1144Common Joined UInteger Var(param_use_after_scope_direct_emission_threshold) Init(256) Param Optimization
7e1792c9
ML
1145Use direct poisoning/unpoisoning instructions for variables smaller or equal to this number.
1146
1147-param=use-canonical-types=
1148Common Joined UInteger Var(param_use_canonical_types) Init(1) IntegerRange(0, 1) Param
1149Whether to use canonical types.
1150
1151-param=vect-epilogues-nomask=
5c4177c5 1152Common Joined UInteger Var(param_vect_epilogues_nomask) Init(1) IntegerRange(0, 1) Param Optimization
7e1792c9
ML
1153Enable loop epilogue vectorization using smaller vector size.
1154
1155-param=vect-max-peeling-for-alignment=
679652a7 1156Common Joined UInteger Var(param_vect_max_peeling_for_alignment) Init(-1) IntegerRange(0, 64) Param Optimization
7e1792c9
ML
1157Maximum number of loop peels to enhance alignment of data references in a loop.
1158
1159-param=vect-max-version-for-alias-checks=
5c4177c5 1160Common Joined UInteger Var(param_vect_max_version_for_alias_checks) Init(10) Param Optimization
7e1792c9
ML
1161Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check.
1162
1163-param=vect-max-version-for-alignment-checks=
5c4177c5 1164Common Joined UInteger Var(param_vect_max_version_for_alignment_checks) Init(6) Param Optimization
7e1792c9
ML
1165Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check.
1166
9fb832ce
KL
1167-param=vect-partial-vector-usage=
1168Common Joined UInteger Var(param_vect_partial_vector_usage) Init(2) IntegerRange(0, 2) Param Optimization
1169Controls 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.
1170
9c5bd1e9 1171-param=vect-inner-loop-cost-factor=
8571ff0a
RB
1172Common Joined UInteger Var(param_vect_inner_loop_cost_factor) Init(50) IntegerRange(1, 10000) Param Optimization
1173The maximum factor which the loop vectorizer applies to the cost of statements in an inner loop relative to the loop being vectorized.
9c5bd1e9 1174
bd400db6
AM
1175-param=vrp1-mode=
1176Common Joined Var(param_vrp1_mode) Enum(vrp_mode) Init(VRP_MODE_VRP) Param Optimization
1177--param=vrp1-mode=[vrp|ranger] Specifies the mode VRP1 should operate in.
1178
1179-param=vrp2-mode=
502ffb1f 1180Common Joined Var(param_vrp2_mode) Enum(vrp_mode) Init(VRP_MODE_RANGER) Param Optimization
bd400db6
AM
1181--param=vrp2-mode=[vrp|ranger] Specifies the mode VRP2 should operate in.
1182
1183Enum
1184Name(vrp_mode) Type(enum vrp_mode) UnknownError(unknown vrp mode %qs)
1185
1186EnumValue
1187Enum(vrp_mode) String(vrp) Value(VRP_MODE_VRP)
1188
1189EnumValue
1190Enum(vrp_mode) String(ranger) Value(VRP_MODE_RANGER)
1191
7e1792c9 1192; This comment is to ensure we retain the blank line above.