comparison gcc/params.def @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 /* params.def - Run-time parameters. 1 /* params.def - Run-time parameters.
2 Copyright (C) 2001-2017 Free Software Foundation, Inc. 2 Copyright (C) 2001-2018 Free Software Foundation, Inc.
3 Written by Mark Mitchell <mark@codesourcery.com>. 3 Written by Mark Mitchell <mark@codesourcery.com>.
4 4
5 This file is part of GCC. 5 This file is part of GCC.
6 6
7 GCC is free software; you can redistribute it and/or modify it under 7 GCC is free software; you can redistribute it and/or modify it under
50 2, 0, 50) 50 2, 0, 50)
51 51
52 DEFPARAM (PARAM_INLINE_MIN_SPEEDUP, 52 DEFPARAM (PARAM_INLINE_MIN_SPEEDUP,
53 "inline-min-speedup", 53 "inline-min-speedup",
54 "The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.", 54 "The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-insns-auto.",
55 8, 0, 0) 55 15, 0, 0)
56 56
57 /* The single function inlining limit. This is the maximum size 57 /* The single function inlining limit. This is the maximum size
58 of a function counted in internal gcc instructions (not in 58 of a function counted in internal gcc instructions (not in
59 real machine instructions) that is eligible for inlining 59 real machine instructions) that is eligible for inlining
60 by the tree inliner. 60 by the tree inliner.
61 The default value is 450. 61 The default value is 400.
62 Only functions marked inline (or methods defined in the class 62 Only functions marked inline (or methods defined in the class
63 definition for C++) are affected by this. 63 definition for C++) are affected by this.
64 There are more restrictions to inlining: If inlined functions 64 There are more restrictions to inlining: If inlined functions
65 call other functions, the already inlined instructions are 65 call other functions, the already inlined instructions are
66 counted and once the recursive inline limit (see 66 counted and once the recursive inline limit (see
75 inlined by virtue of -finline-functions (-O3). 75 inlined by virtue of -finline-functions (-O3).
76 This limit should be chosen to be below or equal to the limit 76 This limit should be chosen to be below or equal to the limit
77 that is applied to functions marked inlined (or defined in the 77 that is applied to functions marked inlined (or defined in the
78 class declaration in C++) given by the "max-inline-insns-single" 78 class declaration in C++) given by the "max-inline-insns-single"
79 parameter. 79 parameter.
80 The default value is 40. */ 80 The default value is 30. */
81 DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO, 81 DEFPARAM (PARAM_MAX_INLINE_INSNS_AUTO,
82 "max-inline-insns-auto", 82 "max-inline-insns-auto",
83 "The maximum number of instructions when automatically inlining.", 83 "The maximum number of instructions when automatically inlining.",
84 40, 0, 0) 84 30, 0, 0)
85 85
86 DEFPARAM (PARAM_MAX_INLINE_INSNS_RECURSIVE, 86 DEFPARAM (PARAM_MAX_INLINE_INSNS_RECURSIVE,
87 "max-inline-insns-recursive", 87 "max-inline-insns-recursive",
88 "The maximum number of instructions inline function can grow to via recursive inlining.", 88 "The maximum number of instructions inline function can grow to via recursive inlining.",
89 450, 0, 0) 89 450, 0, 0)
137 137
138 /* Limit loop autovectorization to loops with large enough iteration count. */ 138 /* Limit loop autovectorization to loops with large enough iteration count. */
139 DEFPARAM (PARAM_MIN_VECT_LOOP_BOUND, 139 DEFPARAM (PARAM_MIN_VECT_LOOP_BOUND,
140 "min-vect-loop-bound", 140 "min-vect-loop-bound",
141 "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization.", 141 "If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization.",
142 1, 1, 0) 142 0, 0, 0)
143 143
144 /* The maximum number of instructions to consider when looking for an 144 /* The maximum number of instructions to consider when looking for an
145 instruction to fill a delay slot. If more than this arbitrary 145 instruction to fill a delay slot. If more than this arbitrary
146 number of instructions is searched, the time savings from filling 146 number of instructions is searched, the time savings from filling
147 the delay slot will be minimal so stop searching. Increasing 147 the delay slot will be minimal so stop searching. Increasing
211 DEFPARAM(PARAM_STACK_FRAME_GROWTH, 211 DEFPARAM(PARAM_STACK_FRAME_GROWTH,
212 "large-stack-frame-growth", 212 "large-stack-frame-growth",
213 "Maximal stack frame growth due to inlining (in percent).", 213 "Maximal stack frame growth due to inlining (in percent).",
214 1000, 0, 0) 214 1000, 0, 0)
215 215
216 /* Keep these up to date with those in configure.ac. */
216 DEFPARAM(PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE, 217 DEFPARAM(PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE,
217 "stack-clash-protection-guard-size", 218 "stack-clash-protection-guard-size",
218 "Size of the stack guard expressed as a power of two.", 219 "Size of the stack guard expressed as a power of two in bytes.",
219 12, 12, 30) 220 12, 12, 30)
220 221
221 DEFPARAM(PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL, 222 DEFPARAM(PARAM_STACK_CLASH_PROTECTION_PROBE_INTERVAL,
222 "stack-clash-protection-probe-interval", 223 "stack-clash-protection-probe-interval",
223 "Interval in which to probe the stack expressed as a power of two.", 224 "Interval in which to probe the stack expressed as a power of two in bytes.",
224 12, 10, 16) 225 12, 10, 16)
225 226
226 /* The GCSE optimization will be disabled if it would require 227 /* The GCSE optimization will be disabled if it would require
227 significantly more memory than this value. */ 228 significantly more memory than this value. */
228 DEFPARAM(PARAM_MAX_GCSE_MEMORY, 229 DEFPARAM(PARAM_MAX_GCSE_MEMORY,
352 DEFPARAM(PARAM_MAX_UNSWITCH_LEVEL, 353 DEFPARAM(PARAM_MAX_UNSWITCH_LEVEL,
353 "max-unswitch-level", 354 "max-unswitch-level",
354 "The maximum number of unswitchings in a single loop.", 355 "The maximum number of unswitchings in a single loop.",
355 3, 0, 0) 356 3, 0, 0)
356 357
357 /* The maximum number of insns in loop header duplicated by he copy loop 358 /* The maximum number of insns in loop header duplicated by the copy loop
358 headers pass. */ 359 headers pass. */
359 DEFPARAM(PARAM_MAX_LOOP_HEADER_INSNS, 360 DEFPARAM(PARAM_MAX_LOOP_HEADER_INSNS,
360 "max-loop-header-insns", 361 "max-loop-header-insns",
361 "The maximum number of insns in loop header duplicated by he copy loop headers pass.", 362 "The maximum number of insns in loop header duplicated by the copy loop headers pass.",
362 20, 0, 0) 363 20, 0, 0)
363 364
364 /* The maximum number of iterations of a loop the brute force algorithm 365 /* The maximum number of iterations of a loop the brute force algorithm
365 for analysis of # of iterations of the loop tries to evaluate. */ 366 for analysis of # of iterations of the loop tries to evaluate. */
366 DEFPARAM(PARAM_MAX_ITERATIONS_TO_TRACK, 367 DEFPARAM(PARAM_MAX_ITERATIONS_TO_TRACK,
391 DEFPARAM(PARAM_SMS_LOOP_AVERAGE_COUNT_THRESHOLD, 392 DEFPARAM(PARAM_SMS_LOOP_AVERAGE_COUNT_THRESHOLD,
392 "sms-loop-average-count-threshold", 393 "sms-loop-average-count-threshold",
393 "A threshold on the average loop count considered by the swing modulo scheduler.", 394 "A threshold on the average loop count considered by the swing modulo scheduler.",
394 0, 0, 0) 395 0, 0, 0)
395 396
397 DEFPARAM(HOT_BB_COUNT_FRACTION,
398 "hot-bb-count-fraction",
399 "Select fraction of the maximal count of repetitions of basic block in program given basic "
400 "block needs to have to be considered hot (used in non-LTO mode)",
401 10000, 0, 0)
396 DEFPARAM(HOT_BB_COUNT_WS_PERMILLE, 402 DEFPARAM(HOT_BB_COUNT_WS_PERMILLE,
397 "hot-bb-count-ws-permille", 403 "hot-bb-count-ws-permille",
398 "A basic block profile count is considered hot if it contributes to " 404 "A basic block profile count is considered hot if it contributes to "
399 "the given permillage of the entire profiled execution.", 405 "the given permillage of the entire profiled execution (used in LTO mode).",
400 999, 0, 1000) 406 999, 0, 1000)
401 DEFPARAM(HOT_BB_FREQUENCY_FRACTION, 407 DEFPARAM(HOT_BB_FREQUENCY_FRACTION,
402 "hot-bb-frequency-fraction", 408 "hot-bb-frequency-fraction",
403 "Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot.", 409 "Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot.",
404 1000, 0, 0) 410 1000, 0, 0)
413 "Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment.", 419 "Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment.",
414 100, 1, 0) 420 100, 1, 0)
415 421
416 DEFPARAM (PARAM_ALIGN_LOOP_ITERATIONS, 422 DEFPARAM (PARAM_ALIGN_LOOP_ITERATIONS,
417 "align-loop-iterations", 423 "align-loop-iterations",
418 "Loops iterating at least selected number of iterations will get loop alignment..", 424 "Loops iterating at least selected number of iterations will get "
419 4, 0, 0) 425 "loop alignment.", 4, 0, 0)
420 426
421 /* For guessed profiles, the loops having unknown number of iterations 427 /* For guessed profiles, the loops having unknown number of iterations
422 are predicted to iterate relatively few (10) times at average. 428 are predicted to iterate relatively few (10) times at average.
423 For functions containing one loop with large known number of iterations 429 For functions containing one loop with large known number of iterations
424 and other loops having unbounded loops we would end up predicting all 430 and other loops having unbounded loops we would end up predicting all
444 450
445 DEFPARAM(BUILTIN_EXPECT_PROBABILITY, 451 DEFPARAM(BUILTIN_EXPECT_PROBABILITY,
446 "builtin-expect-probability", 452 "builtin-expect-probability",
447 "Set the estimated probability in percentage for builtin expect. The default value is 90% probability.", 453 "Set the estimated probability in percentage for builtin expect. The default value is 90% probability.",
448 90, 0, 100) 454 90, 0, 100)
455 DEFPARAM(BUILTIN_STRING_CMP_INLINE_LENGTH,
456 "builtin-string-cmp-inline-length",
457 "The maximum length of a constant string for a builtin string cmp call eligible for inlining. The default value is 3.",
458 3, 0, 100)
449 DEFPARAM(TRACER_DYNAMIC_COVERAGE_FEEDBACK, 459 DEFPARAM(TRACER_DYNAMIC_COVERAGE_FEEDBACK,
450 "tracer-dynamic-coverage-feedback", 460 "tracer-dynamic-coverage-feedback",
451 "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available.", 461 "The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available.",
452 95, 0, 100) 462 95, 0, 100)
453 DEFPARAM(TRACER_DYNAMIC_COVERAGE, 463 DEFPARAM(TRACER_DYNAMIC_COVERAGE,
545 DEFPARAM(PARAM_DSE_MAX_OBJECT_SIZE, 555 DEFPARAM(PARAM_DSE_MAX_OBJECT_SIZE,
546 "dse-max-object-size", 556 "dse-max-object-size",
547 "Maximum size (in bytes) of objects tracked bytewise by dead store elimination.", 557 "Maximum size (in bytes) of objects tracked bytewise by dead store elimination.",
548 256, 0, 0) 558 256, 0, 0)
549 559
560 DEFPARAM(PARAM_DSE_MAX_ALIAS_QUERIES_PER_STORE,
561 "dse-max-alias-queries-per-store",
562 "Maximum number of queries into the alias oracle per store.",
563 256, 0, 0)
564
550 DEFPARAM(PARAM_SCEV_MAX_EXPR_SIZE, 565 DEFPARAM(PARAM_SCEV_MAX_EXPR_SIZE,
551 "scev-max-expr-size", 566 "scev-max-expr-size",
552 "Bound on size of expressions used in the scalar evolutions analyzer.", 567 "Bound on size of expressions used in the scalar evolutions analyzer.",
553 100, 0, 0) 568 100, 0, 0)
554 569
742 0, 0, 0) 757 0, 0, 0)
743 758
744 DEFPARAM(PARAM_MAX_SCHED_READY_INSNS, 759 DEFPARAM(PARAM_MAX_SCHED_READY_INSNS,
745 "max-sched-ready-insns", 760 "max-sched-ready-insns",
746 "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass.", 761 "The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass.",
747 100, 0, 0) 762 100, 1, 0)
748 763
749 /* This is the maximum number of active local stores RTL DSE will consider. */ 764 /* This is the maximum number of active local stores RTL DSE will consider. */
750 DEFPARAM (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES, 765 DEFPARAM (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES,
751 "max-dse-active-local-stores", 766 "max-dse-active-local-stores",
752 "Maximum number of active local stores in RTL dead store elimination.", 767 "Maximum number of active local stores in RTL dead store elimination.",
788 DEFPARAM (PARAM_L2_CACHE_SIZE, 803 DEFPARAM (PARAM_L2_CACHE_SIZE,
789 "l2-cache-size", 804 "l2-cache-size",
790 "The size of L2 cache.", 805 "The size of L2 cache.",
791 512, 0, 0) 806 512, 0, 0)
792 807
808 /* Whether software prefetch hints should be issued for non-constant
809 strides. */
810
811 DEFPARAM (PARAM_PREFETCH_DYNAMIC_STRIDES,
812 "prefetch-dynamic-strides",
813 "Whether software prefetch hints should be issued for non-constant "
814 "strides.",
815 1, 0, 1)
816
817 /* The minimum constant stride beyond which we should use prefetch hints
818 for. */
819
820 DEFPARAM (PARAM_PREFETCH_MINIMUM_STRIDE,
821 "prefetch-minimum-stride",
822 "The minimum constant stride beyond which we should use prefetch "
823 "hints for.",
824 -1, 0, 0)
825
826 /* Maximum number of statements in loop nest for loop interchange. */
827
828 DEFPARAM (PARAM_LOOP_INTERCHANGE_MAX_NUM_STMTS,
829 "loop-interchange-max-num-stmts",
830 "The maximum number of stmts in loop nest for loop interchange.",
831 64, 0, 0)
832
833 /* Minimum stride ratio for loop interchange to be profitiable. */
834
835 DEFPARAM (PARAM_LOOP_INTERCHANGE_STRIDE_RATIO,
836 "loop-interchange-stride-ratio",
837 "The minimum stride ratio for loop interchange to be profitable.",
838 2, 0, 0)
839
793 /* Whether we should use canonical types rather than deep "structural" 840 /* Whether we should use canonical types rather than deep "structural"
794 type checking. Setting this value to 1 (the default) improves 841 type checking. Setting this value to 1 (the default) improves
795 compilation performance in the C++ and Objective-C++ front end; 842 compilation performance in the C++ and Objective-C++ front end;
796 this value should only be set to zero to work around bugs in the 843 this value should only be set to zero to work around bugs in the
797 canonical type system by disabling it. */ 844 canonical type system by disabling it. */
804 DEFPARAM (PARAM_MAX_PARTIAL_ANTIC_LENGTH, 851 DEFPARAM (PARAM_MAX_PARTIAL_ANTIC_LENGTH,
805 "max-partial-antic-length", 852 "max-partial-antic-length",
806 "Maximum length of partial antic set when performing tree pre optimization.", 853 "Maximum length of partial antic set when performing tree pre optimization.",
807 100, 0, 0) 854 100, 0, 0)
808 855
809 /* The following is used as a stop-gap limit for cases where really huge 856 /* The following is used as a stop-gap limit for cases where really deep
810 SCCs blow up memory and compile-time use too much. If we hit this limit, 857 loop nests cause compile-time to blow up. If we hit this limit,
811 SCCVN and such FRE and PRE will be not done at all for the current 858 FRE and PRE will value-number outer loops (but the outermost) in a
812 function. */ 859 loop nest non-optimistically. */
813 860
814 DEFPARAM (PARAM_SCCVN_MAX_SCC_SIZE, 861 DEFPARAM (PARAM_RPO_VN_MAX_LOOP_DEPTH,
815 "sccvn-max-scc-size", 862 "rpo-vn-max-loop-depth",
816 "Maximum size of a SCC before SCCVN stops processing a function.", 863 "Maximum depth of a loop nest to fully value-number optimistically.",
817 10000, 10, 0) 864 7, 2, 0)
818 865
819 /* The following is used as a stop-gap limit for cases where really huge 866 /* The following is used as a stop-gap limit for cases where really huge
820 functions blow up compile-time use too much. It limits the number of 867 functions blow up compile-time use too much. It limits the number of
821 alias-queries we do for finding common subexpressions for memory loads and 868 alias-queries we do for finding common subexpressions for memory loads and
822 stores. The number of alias-queries is otherwise limited by the number of 869 stores. The number of alias-queries is otherwise limited by the number of
863 910
864 /* Size of tiles when doing loop blocking. */ 911 /* Size of tiles when doing loop blocking. */
865 912
866 DEFPARAM (PARAM_LOOP_BLOCK_TILE_SIZE, 913 DEFPARAM (PARAM_LOOP_BLOCK_TILE_SIZE,
867 "loop-block-tile-size", 914 "loop-block-tile-size",
868 "size of tiles for loop blocking.", 915 "Size of tiles for loop blocking.",
869 51, 0, 0) 916 51, 0, 0)
870 917
871 /* Maximal number of parameters that we allow in a SCoP. */ 918 /* Maximal number of parameters that we allow in a SCoP. */
872 919
873 DEFPARAM (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS, 920 DEFPARAM (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS,
874 "graphite-max-nb-scop-params", 921 "graphite-max-nb-scop-params",
875 "maximum number of parameters in a SCoP.", 922 "Maximum number of parameters in a SCoP.",
876 10, 0, 0) 923 10, 0, 0)
877 924
878 /* Maximal number of array references in a scop. */ 925 /* Maximal number of array references in a scop. */
879 926
880 DEFPARAM (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP, 927 DEFPARAM (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP,
881 "graphite-max-arrays-per-scop", 928 "graphite-max-arrays-per-scop",
882 "maximum number of arrays per scop.", 929 "Maximum number of arrays per scop.",
883 100, 0, 0) 930 100, 0, 0)
884 931
885 DEFPARAM (PARAM_MAX_ISL_OPERATIONS, 932 DEFPARAM (PARAM_MAX_ISL_OPERATIONS,
886 "max-isl-operations", 933 "max-isl-operations",
887 "maximum number of isl operations, 0 means unlimited", 934 "Maximum number of isl operations, 0 means unlimited.",
888 350000, 0, 0) 935 350000, 0, 0)
889 936
890 /* For testsuite purposes allow to check for codegen error handling. */ 937 /* For testsuite purposes allow to check for codegen error handling. */
891 DEFPARAM (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS, 938 DEFPARAM (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS,
892 "graphite-allow-codegen-errors", 939 "graphite-allow-codegen-errors",
893 "whether codegen errors should be ICEs when -fchecking.", 940 "Whether codegen errors should be ICEs when -fchecking.",
894 0, 0, 1) 941 0, 0, 1)
895 942
896 /* Avoid data dependence analysis on very large loops. */ 943 /* Avoid data dependence analysis on very large loops. */
897 DEFPARAM (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS, 944 DEFPARAM (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS,
898 "loop-max-datarefs-for-datadeps", 945 "loop-max-datarefs-for-datadeps",
908 955
909 /* When the parameter is 1, use the internal function id 956 /* When the parameter is 1, use the internal function id
910 to look up for profile data. Otherwise, use a more stable 957 to look up for profile data. Otherwise, use a more stable
911 external id based on assembler name and source location. */ 958 external id based on assembler name and source location. */
912 DEFPARAM (PARAM_PROFILE_FUNC_INTERNAL_ID, 959 DEFPARAM (PARAM_PROFILE_FUNC_INTERNAL_ID,
913 "profile-func-internal-id", 960 "profile-func-internal-id",
914 "use internal function id in profile lookup.", 961 "Use internal function id in profile lookup.",
915 0, 0, 1) 962 0, 0, 1)
916 963
917 /* When the parameter is 1, track the most frequent N target 964 /* When the parameter is 1, track the most frequent N target
918 addresses in indirect-call profile. This disables 965 addresses in indirect-call profile. This disables
919 indirect_call_profiler_v2 which tracks single target. */ 966 indirect_call_profiler_v2 which tracks single target. */
920 DEFPARAM (PARAM_INDIR_CALL_TOPN_PROFILE, 967 DEFPARAM (PARAM_INDIR_CALL_TOPN_PROFILE,
921 "indir-call-topn-profile", 968 "indir-call-topn-profile",
922 "track topn target addresses in indirect-call profile.", 969 "Track top N target addresses in indirect-call profile.",
923 0, 0, 1) 970 0, 0, 1)
924 971
925 /* Avoid SLP vectorization of large basic blocks. */ 972 /* Avoid SLP vectorization of large basic blocks. */
926 DEFPARAM (PARAM_SLP_MAX_INSNS_IN_BB, 973 DEFPARAM (PARAM_SLP_MAX_INSNS_IN_BB,
927 "slp-max-insns-in-bb", 974 "slp-max-insns-in-bb",
928 "Maximum number of instructions in basic block to be considered for SLP vectorization.", 975 "Maximum number of instructions in basic block to be considered for "
929 1000, 0, 0) 976 "SLP vectorization.", 1000, 0, 0)
930 977
931 DEFPARAM (PARAM_MIN_INSN_TO_PREFETCH_RATIO, 978 DEFPARAM (PARAM_MIN_INSN_TO_PREFETCH_RATIO,
932 "min-insn-to-prefetch-ratio", 979 "min-insn-to-prefetch-ratio",
933 "Min. ratio of insns to prefetches to enable prefetching for " 980 "Min. ratio of insns to prefetches to enable prefetching for "
934 "a loop with an unknown trip count.", 981 "a loop with an unknown trip count.",
960 DEFPARAM (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE, 1007 DEFPARAM (PARAM_MAX_VARTRACK_REVERSE_OP_SIZE,
961 "max-vartrack-reverse-op-size", 1008 "max-vartrack-reverse-op-size",
962 "Max. size of loc list for which reverse ops should be added.", 1009 "Max. size of loc list for which reverse ops should be added.",
963 50, 0, 0) 1010 50, 0, 0)
964 1011
1012 /* Set a threshold to discard debug markers (e.g. debug begin stmt
1013 markers) when expanding a function to RTL, or inlining it into
1014 another function. */
1015
1016 DEFPARAM (PARAM_MAX_DEBUG_MARKER_COUNT,
1017 "max-debug-marker-count",
1018 "Max. count of debug markers to expand or inline.",
1019 100000, 0, 0)
1020
965 /* Set minimum insn uid for non-debug insns. */ 1021 /* Set minimum insn uid for non-debug insns. */
966 1022
967 DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID, 1023 DEFPARAM (PARAM_MIN_NONDEBUG_INSN_UID,
968 "min-nondebug-insn-uid", 1024 "min-nondebug-insn-uid",
969 "The minimum UID to be used for a nondebug insn.", 1025 "The minimum UID to be used for a nondebug insn.",
970 0, 0, 0) 1026 0, 0, 0)
971 1027
972 DEFPARAM (PARAM_IPA_SRA_PTR_GROWTH_FACTOR, 1028 DEFPARAM (PARAM_IPA_SRA_PTR_GROWTH_FACTOR,
973 "ipa-sra-ptr-growth-factor", 1029 "ipa-sra-ptr-growth-factor",
974 "Maximum allowed growth of size of new parameters ipa-sra replaces " 1030 "Maximum allowed growth of number and total size of new parameters "
975 "a pointer to an aggregate with.", 1031 "that ipa-sra replaces a pointer to an aggregate with.",
976 2, 0, 0) 1032 2, 0, 0)
977 1033
978 DEFPARAM (PARAM_TM_MAX_AGGREGATE_SIZE, 1034 DEFPARAM (PARAM_TM_MAX_AGGREGATE_SIZE,
979 "tm-max-aggregate-size", 1035 "tm-max-aggregate-size",
980 "Size in bytes after which thread-local aggregates should be " 1036 "Size in bytes after which thread-local aggregates should be "
1001 8, 0, 0) 1057 8, 0, 0)
1002 1058
1003 DEFPARAM (PARAM_IPA_CP_EVAL_THRESHOLD, 1059 DEFPARAM (PARAM_IPA_CP_EVAL_THRESHOLD,
1004 "ipa-cp-eval-threshold", 1060 "ipa-cp-eval-threshold",
1005 "Threshold ipa-cp opportunity evaluation that is still considered " 1061 "Threshold ipa-cp opportunity evaluation that is still considered "
1006 "beneficial to clone..", 1062 "beneficial to clone.",
1007 500, 0, 0) 1063 500, 0, 0)
1008 1064
1009 DEFPARAM (PARAM_IPA_CP_RECURSION_PENALTY, 1065 DEFPARAM (PARAM_IPA_CP_RECURSION_PENALTY,
1010 "ipa-cp-recursion-penalty", 1066 "ipa-cp-recursion-penalty",
1011 "Percentage penalty the recursive functions will receive when they " 1067 "Percentage penalty the recursive functions will receive when they "
1012 "are evaluated for cloning..", 1068 "are evaluated for cloning.",
1013 40, 0, 100) 1069 40, 0, 100)
1014 1070
1015 DEFPARAM (PARAM_IPA_CP_SINGLE_CALL_PENALTY, 1071 DEFPARAM (PARAM_IPA_CP_SINGLE_CALL_PENALTY,
1016 "ipa-cp-single-call-penalty", 1072 "ipa-cp-single-call-penalty",
1017 "Percentage penalty functions containing a single call to another " 1073 "Percentage penalty functions containing a single call to another "
1018 "function will receive when they are evaluated for cloning..", 1074 "function will receive when they are evaluated for cloning.",
1019 15, 0, 100) 1075 15, 0, 100)
1020 1076
1021 DEFPARAM (PARAM_IPA_MAX_AGG_ITEMS, 1077 DEFPARAM (PARAM_IPA_MAX_AGG_ITEMS,
1022 "ipa-max-agg-items", 1078 "ipa-max-agg-items",
1023 "Maximum number of aggregate content items for a parameter in " 1079 "Maximum number of aggregate content items for a parameter in "
1025 16, 0, 0) 1081 16, 0, 0)
1026 1082
1027 DEFPARAM (PARAM_IPA_CP_LOOP_HINT_BONUS, 1083 DEFPARAM (PARAM_IPA_CP_LOOP_HINT_BONUS,
1028 "ipa-cp-loop-hint-bonus", 1084 "ipa-cp-loop-hint-bonus",
1029 "Compile-time bonus IPA-CP assigns to candidates which make loop " 1085 "Compile-time bonus IPA-CP assigns to candidates which make loop "
1030 "bounds or strides known..", 1086 "bounds or strides known.",
1031 64, 0, 0) 1087 64, 0, 0)
1032 1088
1033 DEFPARAM (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS, 1089 DEFPARAM (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS,
1034 "ipa-cp-array-index-hint-bonus", 1090 "ipa-cp-array-index-hint-bonus",
1035 "Compile-time bonus IPA-CP assigns to candidates which make an array " 1091 "Compile-time bonus IPA-CP assigns to candidates which make an array "
1036 "index known..", 1092 "index known.",
1037 48, 0, 0) 1093 48, 0, 0)
1038 1094
1039 DEFPARAM (PARAM_IPA_MAX_AA_STEPS, 1095 DEFPARAM (PARAM_IPA_MAX_AA_STEPS,
1040 "ipa-max-aa-steps", 1096 "ipa-max-aa-steps",
1041 "Maximum number of statements that will be visited by IPA formal " 1097 "Maximum number of statements that will be visited by IPA formal "
1091 1147
1092 /* Reassociation width to be used by tree reassoc optimization. */ 1148 /* Reassociation width to be used by tree reassoc optimization. */
1093 DEFPARAM (PARAM_TREE_REASSOC_WIDTH, 1149 DEFPARAM (PARAM_TREE_REASSOC_WIDTH,
1094 "tree-reassoc-width", 1150 "tree-reassoc-width",
1095 "Set the maximum number of instructions executed in parallel in " 1151 "Set the maximum number of instructions executed in parallel in "
1096 "reassociated tree. If 0, use the target dependent heuristic..", 1152 "reassociated tree. If 0, use the target dependent heuristic.",
1097 0, 0, 0) 1153 0, 0, 0)
1098 1154
1099 DEFPARAM (PARAM_MAX_TAIL_MERGE_COMPARISONS, 1155 DEFPARAM (PARAM_MAX_TAIL_MERGE_COMPARISONS,
1100 "max-tail-merge-comparisons", 1156 "max-tail-merge-comparisons",
1101 "Maximum amount of similar bbs to compare a bb with.", 1157 "Maximum amount of similar bbs to compare a bb with.",
1137 "max-slsr-cand-scan", 1193 "max-slsr-cand-scan",
1138 "Maximum length of candidate scans for straight-line " 1194 "Maximum length of candidate scans for straight-line "
1139 "strength reduction.", 1195 "strength reduction.",
1140 50, 1, 999999) 1196 50, 1, 999999)
1141 1197
1198 /* ASan stands for AddressSanitizer: https://github.com/google/sanitizers. */
1199
1142 DEFPARAM (PARAM_ASAN_STACK, 1200 DEFPARAM (PARAM_ASAN_STACK,
1143 "asan-stack", 1201 "asan-stack",
1144 "Enable asan stack protection.", 1202 "Enable asan stack protection.",
1145 1, 0, 1) 1203 1, 0, 1)
1146 1204
1189 DEFPARAM (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS, 1247 DEFPARAM (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS,
1190 "uninit-control-dep-attempts", 1248 "uninit-control-dep-attempts",
1191 "Maximum number of nested calls to search for control dependencies " 1249 "Maximum number of nested calls to search for control dependencies "
1192 "during uninitialized variable analysis.", 1250 "during uninitialized variable analysis.",
1193 1000, 1, 0) 1251 1000, 1, 0)
1194
1195 DEFPARAM (PARAM_CHKP_MAX_CTOR_SIZE,
1196 "chkp-max-ctor-size",
1197 "Maximum number of statements to be included into a single static "
1198 "constructor generated by Pointer Bounds Checker.",
1199 5000, 100, 0)
1200 1252
1201 DEFPARAM (PARAM_FSM_SCALE_PATH_STMTS, 1253 DEFPARAM (PARAM_FSM_SCALE_PATH_STMTS,
1202 "fsm-scale-path-stmts", 1254 "fsm-scale-path-stmts",
1203 "Scale factor to apply to the number of statements in a threading path when comparing to the number of (scaled) blocks.", 1255 "Scale factor to apply to the number of statements in a threading path when comparing to the number of (scaled) blocks.",
1204 2, 1, 10) 1256 2, 1, 10)
1238 "Schedule type of omp schedule for loops parallelized by " 1290 "Schedule type of omp schedule for loops parallelized by "
1239 "parloops (static, dynamic, guided, auto, runtime).", 1291 "parloops (static, dynamic, guided, auto, runtime).",
1240 static, 1292 static,
1241 static, dynamic, guided, auto, runtime) 1293 static, dynamic, guided, auto, runtime)
1242 1294
1295 DEFPARAM (PARAM_PARLOOPS_MIN_PER_THREAD,
1296 "parloops-min-per-thread",
1297 "Minimum number of iterations per thread of an innermost "
1298 "parallelized loop.",
1299 100, 2, 0)
1300
1243 DEFPARAM (PARAM_MAX_SSA_NAME_QUERY_DEPTH, 1301 DEFPARAM (PARAM_MAX_SSA_NAME_QUERY_DEPTH,
1244 "max-ssa-name-query-depth", 1302 "max-ssa-name-query-depth",
1245 "Maximum recursion depth allowed when querying a property of an" 1303 "Maximum recursion depth allowed when querying a property of an"
1246 " SSA name.", 1304 " SSA name.",
1247 3, 1, 10) 1305 3, 1, 10)
1266 "is considered unpredictable.", 1324 "is considered unpredictable.",
1267 40, 0, 200) 1325 40, 0, 200)
1268 1326
1269 DEFPARAM (PARAM_HSA_GEN_DEBUG_STORES, 1327 DEFPARAM (PARAM_HSA_GEN_DEBUG_STORES,
1270 "hsa-gen-debug-stores", 1328 "hsa-gen-debug-stores",
1271 "Level of hsa debug stores verbosity", 1329 "Level of hsa debug stores verbosity.",
1272 0, 0, 1) 1330 0, 0, 1)
1273 1331
1274 DEFPARAM (PARAM_MAX_SPECULATIVE_DEVIRT_MAYDEFS, 1332 DEFPARAM (PARAM_MAX_SPECULATIVE_DEVIRT_MAYDEFS,
1275 "max-speculative-devirt-maydefs", 1333 "max-speculative-devirt-maydefs",
1276 "Maximum number of may-defs visited when devirtualizing " 1334 "Maximum number of may-defs visited when devirtualizing "
1277 "speculatively", 50, 0, 0) 1335 "speculatively.", 50, 0, 0)
1278 1336
1279 DEFPARAM (PARAM_MAX_VRP_SWITCH_ASSERTIONS, 1337 DEFPARAM (PARAM_MAX_VRP_SWITCH_ASSERTIONS,
1280 "max-vrp-switch-assertions", 1338 "max-vrp-switch-assertions",
1281 "Maximum number of assertions to add along the default " 1339 "Maximum number of assertions to add along the default "
1282 "edge of a switch statement during VRP", 1340 "edge of a switch statement during VRP.",
1283 10, 0, 0) 1341 10, 0, 0)
1284 1342
1285 DEFPARAM (PARAM_VECT_EPILOGUES_NOMASK, 1343 DEFPARAM (PARAM_VECT_EPILOGUES_NOMASK,
1286 "vect-epilogues-nomask", 1344 "vect-epilogues-nomask",
1287 "Enable loop epilogue vectorization using smaller vector size.", 1345 "Enable loop epilogue vectorization using smaller vector size.",
1288 0, 0, 1) 1346 0, 0, 1)
1289 1347
1348 DEFPARAM(PARAM_UNROLL_JAM_MIN_PERCENT,
1349 "unroll-jam-min-percent",
1350 "Minimum percentage of memrefs that must go away for unroll-and-jam to be considered profitable.",
1351 1, 0, 100)
1352
1353 DEFPARAM(PARAM_UNROLL_JAM_MAX_UNROLL,
1354 "unroll-jam-max-unroll",
1355 "Maximum unroll factor for the unroll-and-jam transformation.",
1356 4, 0, 0)
1357
1358 DEFPARAM(PARAM_AVOID_FMA_MAX_BITS,
1359 "avoid-fma-max-bits",
1360 "Maximum number of bits for which we avoid creating FMAs.",
1361 0, 0, 512)
1362
1290 /* 1363 /*
1291 1364
1292 Local variables: 1365 Local variables:
1293 mode:c 1366 mode:c
1294 End: 1367 End: