Software Archive
Read-only legacy content
17061 Discussions

*** Evolution of Command Line options of different C++ compilers ***

SergeyKostrov
Valued Contributor II
21,622 Views
*** Evolution of Command Line options of different C++ compilers *** [ Abstract ] Technical details on Evolution of Command Line options of different C++ compilers, more than 10, will be provided.
0 Kudos
159 Replies
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 6 -ansi A synonym for -std=c89 (for C) or -std=c++98 (for C++). -d Enable dumps from specific passes of the compiler. -fRTS= Select the runtime. -fabi-compat-version= The version of the C++ ABI used for -Wabi warnings and link compatibility aliases. -faccess-control Enforce class member access control semantics. -fada-spec-parent= -fada-spec-parent=unit Dump Ada specs as child units of given parent. -fall-virtual This option lacks documentation. Uses of this option are diagnosed. -fallow-parameterless-variadic-functions Allow variadic functions without named parameter. -falt-external-templates No longer supported. Uses of this option are diagnosed. -fasm Recognize the "asm" keyword. -fbuilding-libgcc This option lacks documentation. -fbuiltin Recognize built-in functions. -fbuiltin- This option lacks documentation. -fcanonical-system-headers Where shorter, use canonicalized paths to systems headers. -fcheck-pointer-bounds Add Pointer Bounds Checker instrumentation. fchkp-* flags are used to control instrumentation. Currently available for C, C++ and ObjC. -fchkp-check-incomplete-type Generate pointer bounds checks for variables with incomplete type. -fchkp-check-read Generate checks for all read accesses to memory. -fchkp-check-write Generate checks for all write accesses to memory. -fchkp-first-field-has-own-bounds Forces Pointer Bounds Checker to use narrowed bounds for address of the first field in the structure. By default pointer to the first field has the same bounds as pointer to the whole structure. -fchkp-instrument-calls Generate bounds passing for calls. -fchkp-instrument-marked-only Instrument only functions marked with bnd_instrument attribute. -fchkp-narrow-bounds Control how Pointer Bounds Checker handle pointers to object fields. When narrowing is on, field bounds are used. Otherwise full object bounds are used. -fchkp-narrow-to-innermost-array Forces Pointer Bounds Checker to use bounds of the innermost arrays in case of nested static arryas access. By default outermost array is used. -fchkp-optimize Allow Pointer Bounds Checker optimizations. By default allowed on optimization levels >0. -fchkp-store-bounds Generate bounds stores for pointer writes. -fchkp-treat-zero-dynamic-size-as-infinite With this option zero size obtained dynamically for objects with incomplete type will be treated as infinite. -fchkp-use-fast-string-functions Allow to use *_nobnd versions of string functions by Pointer Bounds Checker. -fchkp-use-nochk-string-functions Allow to use *_nochk versions of string functions by Pointer Bounds Checker. -fchkp-use-static-bounds Use statically initialized variable for vars bounds instead of generating them each time it is required. -fchkp-use-static-const-bounds Use statically initialized variable for constant bounds instead of generating them each time it is required. -fchkp-use-wrappers Transform instrumented builtin calls into calls to wrappers. -fchkp-zero-input-bounds-for-main Use zero bounds for all incoming arguments in 'main' function. It helps when instrumented binaries are used with legacy libs. -fcilkplus Enable Cilk Plus. -fconcepts Enable support for C++ concepts. -fcond-mismatch Allow the arguments of the '?' operator to have different types. -fconserve-space Does nothing. Preserved for backward compatibility. -fconst-string-class= Use class for constant strings. -fconstexpr-depth= Specify maximum constexpr recursion depth. -fdebug-cpp Emit debug annotations during preprocessing. -fdeclone-ctor-dtor Factor complex constructors and destructors to favor space over speed. -fdeduce-init-list enable deduction of std::initializer_list for a template type parameter from a brace-enclosed initializer-list. -fdefault-inline Does nothing. Preserved for backward compatibility. -fdirectives-only Preprocess directives only. -fdollars-in-identifiers Permit '$' as an identifier character. -fdump-ada-spec Write all declarations as Ada code transitively. -fdump-ada-spec-slim Write all declarations as Ada code for the given file only. -felide-constructors This option lacks documentation. -femit-struct-debug-baseonly Aggressive reduced debug info for structs. -femit-struct-debug-detailed= Detailed reduced debug info for structs. -femit-struct-debug-reduced Conservative reduced debug info for structs. -fenforce-eh-specs Generate code to check exception specifications. -fenum-int-equiv This option lacks documentation. Uses of this option are diagnosed. -fexec-charset= Convert all strings and character constants to character set . -fext-numeric-literals Interpret imaginary, fixed-point, or other gnu number suffix as the corresponding number literal rather than a user-defined number literal. -fextended-identifiers Permit universal character names (\u and \U) in identifiers. -fextern-tls-init Support dynamic initialization of thread-local variables in a different translation unit. -fexternal-templates This option lacks documentation. Uses of this option are diagnosed. -ffor-scope Scope of for-init-statement variables is local to the loop. -ffreestanding Do not assume that standard C libraries and "main" exist. -ffriend-injection Inject friend functions into enclosing namespace. -fgnu-keywords Recognize GNU-defined keywords. -fgnu-runtime Generate code for GNU runtime environment. -fgnu89-inline Use traditional GNU semantics for inline functions. -fguiding-decls This option lacks documentation. Uses of this option are diagnosed. -fhandle-exceptions Same as -fexceptions. Use the latter option instead. Uses of this option are diagnosed. -fhonor-std This option lacks documentation. Uses of this option are diagnosed. -fhosted Assume normal C execution environment. -fhuge-objects No longer supported. Uses of this option are diagnosed. -fimplement-inlines Export functions even if they can be inlined. -fimplicit-inline-templates Emit implicit instantiations of inline templates. -fimplicit-templates Emit implicit instantiations of templates. -finput-charset= Specify the default character set for source files. -fvisibility=[private|protected|public|package] Set the default symbol visibility. -fkeep-inline-dllexport Don't emit dllexported inline functions unless needed. -flabels-ok This option lacks documentation. Uses of this option are diagnosed. -flax-vector-conversions Allow implicit conversions between vectors with differing numbers of subparts and/or differing element types. -flocal-ivars Allow access to instance variables as if they were local declarations within instance method implementations. -fms-extensions Don't warn about uses of Microsoft extensions. -fmudflap This option lacks documentation. Uses of this option are diagnosed. -fmudflapir This option lacks documentation. Uses of this option are diagnosed. -fmudflapth This option lacks documentation. Uses of this option are diagnosed. -fname-mangling-version- This option lacks documentation. Uses of this option are diagnosed. -fnew-abi This option lacks documentation. Uses of this option are diagnosed. -fnext-runtime Generate code for NeXT (Apple Mac OS X) runtime environment. -fnil-receivers Assume that receivers of Objective-C messages may be nil. -fnonansi-builtins This option lacks documentation. -fnonnull-objects This option lacks documentation. Uses of this option are diagnosed. -fnothrow-opt Treat a throw() exception specification as noexcept to improve code size. -fobjc-abi-version= Specify which ABI to use for Objective-C family code and meta-data generation. -fobjc-direct-dispatch Allow fast jumps to the message dispatcher. -fobjc-exceptions Enable Objective-C exception and synchronization syntax. -fobjc-gc Enable garbage collection (GC) in Objective-C/ Objective-C++ programs. -fobjc-nilcheck Enable inline checks for nil receivers with the NeXT runtime and ABI version 2. -fobjc-sjlj-exceptions Enable Objective-C setjmp exception handling runtime. -fobjc-std=objc1 Conform to the Objective-C 1.0 language as implemented in GCC 4.0. -fopenacc Enable OpenACC. -fopenacc-dim= Specify default OpenACC compute dimensions. -fopenmp Enable OpenMP (implies -frecursive in Fortran). -fopenmp-simd Enable OpenMP's SIMD directives. -foperator-names Recognize C++ keywords like "compl" and "xor". -foptional-diags Does nothing. Preserved for backward compatibility. -fpch-deps This option lacks documentation. -fpch-preprocess Look for and use PCH files even when preprocessing. -fpermissive Downgrade conformance errors to warnings. -fplan9-extensions Enable Plan 9 language extensions. -fpreprocessed Treat the input file as already preprocessed. -fpretty-templates -fno-pretty-templates Do not pretty-print template specializations as the template signature followed by the arguments. -freplace-objc-classes Used in Fix-and-Continue mode to indicate that object files may be swapped in at runtime. -frepo Enable automatic template instantiation. -frtti Generate run time type descriptor information. -fshort-enums Use the narrowest integer type possible for enumeration types. -fshort-wchar Force the underlying type for "wchar_t" to be "unsigned short". -fsigned-bitfields When "signed" or "unsigned" is not given make the bitfield signed. -fsigned-char Make "char" signed by default. -fsized-deallocation Enable C++14 sized deallocation support. -fsquangle This option lacks documentation. Uses of this option are diagnosed. -fsso-struct=[big-endian|little-endian] Set the default scalar storage order. -fstats Display statistics accumulated during compilation. -fstrict-enums Assume that values of enumeration type are always within the minimum range of that type. -fstrict-prototype This option lacks documentation. Uses of this option are diagnosed. -ftabstop= Distance between tab stops for column reporting. -ftemplate-backtrace-limit= Set the maximum number of template instantiation notes for a single warning or error. -ftemplate-depth- Same as -ftemplate-depth=. Use the latter option instead. -ftemplate-depth= Specify maximum template instantiation depth. -fthis-is-variable This option lacks documentation. Uses of this option are diagnosed. -fno-threadsafe-statics Do not generate thread-safe code for initializing local statics. -ftrack-macro-expansion This option lacks documentation. -ftrack-macro-expansion= -ftrack-macro-expansion=<0|1|2> Track locations of tokens coming from macro expansion and display them in error messages. -funsigned-bitfields When "signed" or "unsigned" is not given make the bitfield unsigned. -funsigned-char Make "char" unsigned by default. -fuse-cxa-atexit Use __cxa_atexit to register destructors. -fuse-cxa-get-exception-ptr Use __cxa_get_exception_ptr in exception handling. -fvisibility-inlines-hidden Marks all inlined functions and methods as having hidden visibility. -fvisibility-ms-compat Changes visibility to match Microsoft Visual Studio by default. -fvtable-gc No longer supported. Uses of this option are diagnosed. -fvtable-thunks No longer supported. Uses of this option are diagnosed. -fweak Emit common-like symbols as weak symbols. -fwide-exec-charset= Convert all wide strings and character constants to character set . -fworking-directory Generate a #line directive pointing at the current working directory. -fxref No longer supported. Uses of this option are diagnosed. -fzero-link Generate lazy class lookup (via objc_getClass()) for use in Zero-Link mode.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 7 -gant Catch typos. -gen-decls Dump declarations to a .decl file. -gnat Specify options to GNAT. -gnatO Set name of output ALI file (internal switch). -idirafter Add to the end of the system include path. -imacros Accept definition of macros in . -imultilib Set to be the multilib include subdirectory. -include Include the contents of before other files. -iprefix Specify as a prefix for next two options. -iquote Add to the end of the quote include path. -isysroot Set to be the system root directory. -isystem Add to the start of the system include path. -iwithprefix Add to the end of the system include path. -iwithprefixbefore Add to the end of the main include path. -nostdinc Do not search standard system include directories (those specified with -isystem will still be used). -nostdinc++ Do not search standard system include directories for C++. -nostdlib Do not look for object files in standard path. -o Place output into . -pedantic Same as -Wpedantic. Use the latter option instead. -print-objc-runtime-info Generate C header of platform-specific features. -remap Remap file names when including files. -std=c++03 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum. Same as -std=c++98. -std=c++0x Deprecated in favor of -std=c++11. Same as -std=c++11. -std=c++11 Conform to the ISO 2011 C++ standard. -std=c++14 Conform to the ISO 2014 C++ standard. -std=c++17 Same as -std=c++1z. Use the latter option instead. -std=c++1y Deprecated in favor of -std=c++14. Same as -std=c++14. -std=c++1z Conform to the ISO 2017(?) C++ draft standard (experimental and incomplete support). -std=c++98 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum. -std=c11 Conform to the ISO 2011 C standard. -std=c1x Deprecated in favor of -std=c11. Same as -std=c11. -std=c89 Conform to the ISO 1990 C standard. Same as -std=c90. -std=c90 Conform to the ISO 1990 C standard. -std=c99 Conform to the ISO 1999 C standard. -std=c9x Deprecated in favor of -std=c99. Same as -std=c99. -std=gnu++03 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum with GNU extensions. Same as -std=gnu++98. -std=gnu++0x Deprecated in favor of -std=gnu++11. Same as -std=gnu++11. -std=gnu++11 Conform to the ISO 2011 C++ standard with GNU extensions. -std=gnu++14 Conform to the ISO 2014 C++ standard with GNU extensions. -std=gnu++17 Same as -std=gnu++1z. Use the latter option instead. -std=gnu++1y Deprecated in favor of -std=gnu++14. Same as -std=gnu++14. -std=gnu++1z Conform to the ISO 201z(7?) C++ draft standard with GNU extensions (experimental and incomplete support). -std=gnu++98 Conform to the ISO 1998 C++ standard revised by the 2003 technical corrigendum with GNU extensions. -std=gnu11 Conform to the ISO 2011 C standard with GNU extensions. -std=gnu1x Deprecated in favor of -std=gnu11. Same as -std=gnu11. -std=gnu89 Conform to the ISO 1990 C standard with GNU extensions. Same as -std=gnu90. -std=gnu90 Conform to the ISO 1990 C standard with GNU extensions. -std=gnu99 Conform to the ISO 1999 C standard with GNU extensions. -std=gnu9x Deprecated in favor of -std=gnu99. Same as -std=gnu99. -std=iso9899:1990 Conform to the ISO 1990 C standard. Same as -std=c90. -std=iso9899:199409 Conform to the ISO 1990 C standard as amended in 1994. -std=iso9899:1999 Conform to the ISO 1999 C standard. Same as -std=c99. -std=iso9899:199x Deprecated in favor of -std=iso9899:1999. Same as -std=c99. -std=iso9899:2011 Conform to the ISO 2011 C standard. Same as -std=c11. -traditional-cpp Enable traditional preprocessing. -trigraphs Support ISO C trigraphs. -undef Do not predefine system-specific and GCC-specific macros. -v Enable verbose output. -w Suppress warnings.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 8 The --param option recognizes the following as parameters: predictable-branch-outcome Maximal estimated outcome of branch considered predictable. inline-min-speedup The minimal estimated speedup allowing inliner to ignore inline-insns-single and inline-isnsns-auto. max-inline-insns-single The maximum number of instructions in a single function eligible for inlining. max-inline-insns-auto The maximum number of instructions when automatically inlining. max-inline-insns-recursive The maximum number of instructions inline function can grow to via recursive inlining. max-inline-insns-recursive-auto The maximum number of instructions non-inline function can grow to via recursive inlining. max-inline-recursive-depth The maximum depth of recursive inlining for inline functions. max-inline-recursive-depth-auto The maximum depth of recursive inlining for non-inline functions. min-inline-recursive-probability Inline recursively only when the probability of call being executed exceeds the parameter. max-early-inliner-iterations The maximum number of nested indirect inlining performed by early inliner. comdat-sharing-probability Probability that COMDAT function will be shared with different compilation unit. partial-inlining-entry-probability Maximum probability of the entry BB of split region (in percent relative to entry BB of the function) to make partial inlining happen. max-variable-expansions-in-unroller If -fvariable-expansion-in-unroller is used, the maximum number of times that an individual variable will be expanded during loop unrolling. min-vect-loop-bound If -ftree-vectorize is used, the minimal loop bound of a loop to be considered for vectorization. max-delay-slot-insn-search The maximum number of instructions to consider to fill a delay slot. max-delay-slot-live-search The maximum number of instructions to consider to find accurate live register information. max-pending-list-length The maximum length of scheduling's pending operations list. max-modulo-backtrack-attempts The maximum number of backtrack attempts the scheduler should make when modulo scheduling a loop. large-function-insns The size of function body to be considered large. large-function-growth Maximal growth due to inlining of large function (in percent). large-unit-insns The size of translation unit to be considered large. inline-unit-growth How much can given compilation unit grow because of the inlining (in percent). ipcp-unit-growth How much can given compilation unit grow because of the interprocedural constant propagation (in percent). early-inlining-insns Maximal estimated growth of function body caused by early inlining of single call. large-stack-frame The size of stack frame to be considered large. large-stack-frame-growth Maximal stack frame growth due to inlining (in percent). max-gcse-memory The maximum amount of memory to be allocated by GCSE. max-gcse-insertion-ratio The maximum ratio of insertions to deletions of expressions in GCSE. gcse-after-reload-partial-fraction The threshold ratio for performing partial redundancy elimination after reload. gcse-after-reload-critical-fraction The threshold ratio of critical edges execution count that permit performing redundancy elimination after reload. gcse-cost-distance-ratio Scaling factor in calculation of maximum distance an expression can be moved by GCSE optimizations. gcse-unrestricted-cost Cost at which GCSE optimizations will not constraint the distance an expression can travel. max-hoist-depth Maximum depth of search in the dominator tree for expressions to hoist. max-pow-sqrt-depth Maximum depth of sqrt chains to use when synthesizing exponentiation by a real constant. max-unrolled-insns The maximum number of instructions to consider to unroll in a loop. max-average-unrolled-insns The maximum number of instructions to consider to unroll in a loop on average. max-unroll-times The maximum number of unrollings of a single loop. max-peeled-insns The maximum number of insns of a peeled loop. max-peel-times The maximum number of peelings of a single loop. max-peel-branches The maximum number of branches on the path through the peeled sequence. max-completely-peeled-insns The maximum number of insns of a completely peeled loop. max-completely-peel-times The maximum number of peelings of a single loop that is peeled completely. max-once-peeled-insns The maximum number of insns of a peeled loop that rolls only once. max-completely-peel-loop-nest-depth The maximum depth of a loop nest we completely peel. max-unswitch-insns The maximum number of insns of an unswitched loop. max-unswitch-level The maximum number of unswitchings in a single loop. max-iterations-to-track Bound on the number of iterations the brute force # of iterations analysis algorithm evaluates. max-iterations-computation-cost Bound on the cost of an expression to compute the number of iterations. sms-max-ii-factor A factor for tuning the upper bound that swing modulo scheduler uses for scheduling a loop. sms-min-sc The minimum value of stage count that swing modulo scheduler will generate. sms-dfa-history The number of cycles the swing modulo scheduler considers when checking conflicts using DFA. sms-loop-average-count-threshold A threshold on the average loop count considered by the swing modulo scheduler. hot-bb-count-ws-permille A basic block profile count is considered hot if it contributes to the given permillage of the entire profiled execution. hot-bb-frequency-fraction Select fraction of the maximal frequency of executions of basic block in function given basic block needs to have to be considered hot. unlikely-bb-count-fraction The minimum fraction of profile runs a given basic block execution count must be not to be considered unlikely. align-threshold Select fraction of the maximal frequency of executions of basic block in function given basic block get alignment. align-loop-iterations Loops iterating at least selected number of iterations will get loop alignement.. max-predicted-iterations The maximum number of loop iterations we predict statically. builtin-expect-probability Set the estimated probability in percentage for builtin expect. The default value is 90% probability. tracer-dynamic-coverage-feedback The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is available. tracer-dynamic-coverage The percentage of function, weighted by execution frequency, that must be covered by trace formation. Used when profile feedback is not available. tracer-max-code-growth Maximal code growth caused by tail duplication (in percent). tracer-min-branch-ratio Stop reverse growth if the reverse probability of best edge is less than this threshold (in percent). tracer-min-branch-probability-feedback Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is available. tracer-min-branch-probability Stop forward growth if the probability of best edge is less than this threshold (in percent). Used when profile feedback is not available. max-crossjump-edges The maximum number of incoming edges to consider for crossjumping. min-crossjump-insns The minimum number of matching instructions to consider for crossjumping. max-grow-copy-bb-insns The maximum expansion factor when copying basic blocks. max-goto-duplication-insns The maximum number of insns to duplicate when unfactoring computed gotos. max-cse-path-length The maximum length of path considered in cse. max-cse-insns The maximum instructions CSE process before flushing. lim-expensive The minimum cost of an expensive expression in the loop invariant motion. iv-consider-all-candidates-bound Bound on number of candidates below that all candidates are considered in iv optimizations. iv-max-considered-uses Bound on number of iv uses in loop optimized in iv optimizations. iv-always-prune-cand-set-bound If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization. scev-max-expr-size Bound on size of expressions used in the scalar evolutions analyzer. scev-max-expr-complexity Bound on the complexity of the expressions in the scalar evolutions analyzer. vect-max-version-for-alignment-checks Bound on number of runtime checks inserted by the vectorizer's loop versioning for alignment check. vect-max-version-for-alias-checks Bound on number of runtime checks inserted by the vectorizer's loop versioning for alias check. vect-max-peeling-for-alignment Max number of loop peels to enhancement alignment of data references in a loop. max-cselib-memory-locations The maximum memory locations recorded by cselib. ggc-min-expand Minimum heap expansion to trigger garbage collection, as a percentage of the total size of the heap. ggc-min-heapsize Minimum heap size before we start collecting garbage, in kilobytes.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 9 max-reload-search-insns The maximum number of instructions to search backward when looking for equivalent reload. sink-frequency-threshold Target block's relative execution frequency (as a percentage) required to sink a statement. max-sched-region-blocks The maximum number of blocks in a region to be considered for interblock scheduling. max-sched-region-insns The maximum number of insns in a region to be considered for interblock scheduling. max-pipeline-region-blocks The maximum number of blocks in a region to be considered for interblock scheduling. max-pipeline-region-insns The maximum number of insns in a region to be considered for interblock scheduling. min-spec-prob The minimum probability of reaching a source block for interblock speculative scheduling. max-sched-extend-regions-iters The maximum number of iterations through CFG to extend regions. max-sched-insn-conflict-delay The maximum conflict delay for an insn to be considered for speculative motion. sched-spec-prob-cutoff The minimal probability of speculation success (in percents), so that speculative insn will be scheduled. sched-state-edge-prob-cutoff The minimum probability an edge must have for the scheduler to save its state across it. selsched-max-lookahead The maximum size of the lookahead window of selective scheduling. selsched-max-sched-times Maximum number of times that an insn could be scheduled. selsched-insns-to-rename Maximum number of instructions in the ready list that are considered eligible for renaming. sched-mem-true-dep-cost Minimal distance between possibly conflicting store and load. sched-autopref-queue-depth Hardware autoprefetcher scheduler model control flag. Number of lookahead cycles the model looks into; at '0' only enable instruction sorting heuristic. Disabled by default. max-last-value-rtl The maximum number of RTL nodes that can be recorded as combiner's last value. max-combine-insns The maximum number of insns combine tries to combine. integer-share-limit The upper bound for sharing integer constants. ssp-buffer-size The lower bound for a buffer to be considered for stack smashing protection. min-size-for-stack-sharing The minimum size of variables taking part in stack slot sharing when not optimizing. max-jump-thread-duplication-stmts Maximum number of statements allowed in a block that needs to be duplicated when threading jumps. max-fields-for-field-sensitive Maximum number of fields in a structure before pointer analysis treats the structure as a single variable. max-sched-ready-insns The maximum number of instructions ready to be issued to be considered by the scheduler during the first scheduling pass. max-dse-active-local-stores Maximum number of active local stores in RTL dead store elimination. prefetch-latency The number of insns executed before prefetch is completed. simultaneous-prefetches The number of prefetches that can run at the same time. l1-cache-size The size of L1 cache. l1-cache-line-size The size of L1 cache line. l2-cache-size The size of L2 cache. use-canonical-types Whether to use canonical types. max-partial-antic-length Maximum length of partial antic set when performing tree pre optimization. sccvn-max-scc-size Maximum size of a SCC before SCCVN stops processing a function. sccvn-max-alias-queries-per-access Maximum number of disambiguations to perform per memory access. ira-max-loops-num Max loops number for regional RA. ira-max-conflict-table-size Max size of conflict table in MB. ira-loop-reserved-regs The number of registers in each class kept unused by loop invariant motion. lra-max-considered-reload-pseudos The max number of reload pseudos which are considered during spilling a non-reload pseudo. lra-inheritance-ebb-probability-cutoff Minimal fall-through edge probability in percentage used to add BB to inheritance EBB in LRA. switch-conversion-max-branch-ratio The maximum ratio between array size and switch branches for a switch conversion to take place. loop-block-tile-size size of tiles for loop blocking. graphite-max-nb-scop-params maximum number of parameters in a SCoP. graphite-max-bbs-per-function maximum number of basic blocks per function to be analyzed by Graphite. graphite-max-arrays-per-scop maximum number of arrays per scop. graphite-min-loops-per-function minimal number of loops per function to be analyzed by Graphite. max-isl-operations maximum number of isl operations, 0 means unlimited loop-max-datarefs-for-datadeps Maximum number of datarefs in loop for building loop data dependencies. loop-invariant-max-bbs-in-loop Max basic blocks number in loop for loop invariant motion. profile-func-internal-id use internal function id in profile lookup. indir-call-topn-profile track topn target addresses in indirect-call profile. slp-max-insns-in-bb Maximum number of instructions in basic block to be considered for SLP vectorization. min-insn-to-prefetch-ratio Min. ratio of insns to prefetches to enable prefetching for a loop with an unknown trip count. prefetch-min-insn-to-mem-ratio Min. ratio of insns to mem ops to enable prefetching in a loop. max-vartrack-size Max. size of var tracking hash tables. max-vartrack-expr-depth Max. recursion depth for expanding var tracking expressions. max-vartrack-reverse-op-size Max. size of loc list for which reverse ops should be added. min-nondebug-insn-uid The minimum UID to be used for a nondebug insn. ipa-sra-ptr-growth-factor Maximum allowed growth of size of new parameters ipa-sra replaces a pointer to an aggregate with. tm-max-aggregate-size Size in bytes after which thread-local aggregates should be instrumented with the logging functions instead of save/restore pairs. sra-max-scalarization-size-Ospeed Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for speed. sra-max-scalarization-size-Osize Maximum size, in storage units, of an aggregate which should be considered for scalarization when compiling for size. ipa-cp-value-list-size Maximum size of a list of values associated with each parameter for interprocedural constant propagation. ipa-cp-eval-threshold Threshold ipa-cp opportunity evaluation that is still considered beneficial to clone.. ipa-cp-recursion-penalty Percentage penalty the recursive functions will receive when they are evaluated for cloning.. ipa-cp-single-call-penalty Percentage penalty functions containg a single call to another function will receive when they are evaluated for cloning.. ipa-max-agg-items Maximum number of aggregate content items for a parameter in jump functions and lattices. ipa-cp-loop-hint-bonus Compile-time bonus IPA-CP assigns to candidates which make loop bounds or strides known.. ipa-cp-array-index-hint-bonus Compile-time bonus IPA-CP assigns to candidates which make an array index known.. ipa-max-aa-steps Maximum number of statements that will be visited by IPA formal parameter analysis based on alias analysis in any given function. lto-partitions Number of partitions the program should be split to. lto-min-partition Minimal size of a partition for LTO (in estimated instructions). cxx-max-namespaces-for-diagnostic-help Maximum number of namespaces to search for alternatives when name lookup fails. max-stores-to-sink Maximum number of conditional store pairs that can be sunk. case-values-threshold The smallest number of different values for which it is best to use a jump-table instead of a tree of conditional branches, if 0, use the default for the machine. allow-store-data-races Allow new data races on stores to be introduced. tree-reassoc-width Set the maximum number of instructions executed in parallel in reassociated tree. If 0, use the target dependent heuristic.. max-tail-merge-comparisons Maximum amount of similar bbs to compare a bb with. max-tail-merge-iterations Maximum amount of iterations of the pass over a function. max-tracked-strlens Maximum number of strings for which strlen optimization pass will track string lengths. sched-pressure-algorithm Which -fsched-pressure algorithm to apply. max-slsr-cand-scan Maximum length of candidate scans for straight- line strength reduction. asan-stack Enable asan stack protection. asan-globals Enable asan globals protection. asan-instrument-writes Enable asan store operations protection. asan-instrument-reads Enable asan load operations protection. asan-memintrin Enable asan builtin functions protection. asan-use-after-return Enable asan detection of use-after-return bugs. asan-instrumentation-with-call-threshold Use callbacks instead of inline code if number of accesses in function becomes greater or equal to this number. uninit-control-dep-attempts Maximum number of nested calls to search for control dependencies during uninitialized variable analysis. chkp-max-ctor-size Maximum number of statements to be included into a single static constructor generated by Pointer Bounds Checker. fsm-scale-path-stmts Scale factor to apply to the number of statements in a threading path when comparing to the number of (scaled) blocks. fsm-maximum-phi-arguments Maximum number of arguments a PHI may have before the FSM threader will not try to thread through its block. fsm-scale-path-blocks Scale factor to apply to the number of blocks in a threading path when comparing to the number of (scaled) statements. max-fsm-thread-path-insns Maximum number of instructions to copy when duplicating blocks on a finite state automaton jump thread path. max-fsm-thread-length Maximum number of basic blocks on a finite state automaton jump thread path. max-fsm-thread-paths Maximum number of new jump thread paths to create for a finite state automaton. parloops-chunk-size Chunk size of omp schedule for loops parallelized by parloops. parloops-schedule Schedule type of omp schedule for loops parallelized by parloops (static, dynamic, guided, auto, runtime). max-ssa-name-query-depth Maximum recursion depth allowed when querying a property of an SSA name. max-rtl-if-conversion-insns Maximum number of insns in a basic block to consider for RTL if-conversion. hsa-gen-debug-stores Level of hsa debug stores verbosity max-speculative-devirt-maydefs Maximum number of may-defs visited when devirtualizing speculatively
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 10 The following options control compiler warning messages: --extra-warnings Same as -Wextra. Use the latter option instead. -W This switch is deprecated; use -Wextra instead. Same as -Wextra. -Waggregate-return Warn about returning structures, unions or arrays. -Waggressive-loop-optimizations Warn if a loop with constant number of iterations triggers undefined behavior. -Warray-bounds Warn if an array is accessed out of bounds. -Warray-bounds= Warn if an array is accessed out of bounds. -Wattributes Warn about inappropriate attribute usage. -Wcast-align Warn about pointer casts which increase alignment. -Wcoverage-mismatch Warn in case profiles in -fprofile-use do not match. -Wdeprecated-declarations Warn about uses of __attribute__((deprecated)) declarations. -Wdisabled-optimization Warn when an optimization pass is disabled. -Wframe-larger-than= Warn if a function's stack frame requires more than bytes. -Wfree-nonheap-object Warn when attempting to free a non-heap object. -Whsa Warn when a function cannot be expanded to HSAIL. -Winline Warn when an inlined function cannot be inlined. -Winvalid-memory-model Warn when an atomic memory model parameter is known to be outside the valid range. -Wlarger-than- Same as -Wlarger-than=. Use the latter option instead. -Wlarger-than= Warn if an object is larger than bytes. -Wlto-type-mismatch During link time optimization warn about mismatched types of global declarations. -Wmissing-noreturn Same as -Wsuggest-attribute=noreturn. Use the latter option instead. -Wnull-dereference Warn if dereferencing a NULL pointer may lead to erroneous or undefined behavior. -Wodr Warn about some C++ One Definition Rule violations during link time optimization. -Woverflow Warn about overflow in arithmetic expressions. -Wpacked Warn when the packed attribute has no effect on struct layout. -Wpadded Warn when padding is required to align structure members. -Wreturn-local-addr Warn about returning a pointer/reference to a local or temporary variable. -Wshadow Warn when one local variable shadows another. -Wstack-protector Warn when not issuing stack smashing protection for some reason. -Wstack-usage= Warn if stack usage might be larger than specified amount. -Wstrict-aliasing Warn about code which might break strict aliasing rules. -Wstrict-overflow Warn about optimizations that assume that signed overflow is undefined. -Wsuggest-attribute=const Warn about functions which might be candidates for __attribute__((const)). -Wsuggest-attribute=noreturn Warn about functions which might be candidates for __attribute__((noreturn)). -Wsuggest-attribute=pure Warn about functions which might be candidates for __attribute__((pure)). -Wsuggest-final-methods Warn about C++ virtual methods where adding final keyword would improve code quality. -Wsuggest-final-types Warn about C++ polymorphic types where adding final keyword would improve code quality. -Wtrampolines Warn whenever a trampoline is generated. -Wtype-limits Warn if a comparison is always true or always false due to the limited range of the data type. -Wunreachable-code Does nothing. Preserved for backward compatibility. -Wunsafe-loop-optimizations Warn if the loop cannot be optimized due to nontrivial assumptions. -Wunused-but-set-parameter Warn when a function parameter is only set, otherwise unused. -Wunused-but-set-variable Warn when a variable is only set, otherwise unused. -Wunused-function Warn when a function is unused. -Wunused-parameter Warn when a function parameter is unused. -Wunused-value Warn when an expression value is unused. -Wvector-operation-performance Warn when a vector operation is compiled outside the SIMD.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 11 The following options control optimizations: -O Set optimization level to . -Ofast Optimize for speed disregarding exact standards compliance. -Og Optimize for debugging experience rather than speed or size. -Os Optimize for space rather than speed. -faggressive-loop-optimizations Aggressively optimize loops using language constraints. -falign-functions Align the start of functions. -falign-jumps Align labels which are only reached by jumping. -falign-labels Align all labels. -falign-loops Align the start of loops. -fassociative-math Allow optimization for floating-point arithmetic which may change the result of the operation due to rounding. -fasynchronous-unwind-tables Generate unwind tables that are exact at each instruction boundary. -fauto-inc-dec Generate auto-inc/dec instructions. -fbranch-count-reg Replace add, compare, branch with branch on count register. -fbranch-probabilities Use profiling information for branch probabilities. -fbranch-target-load-optimize Perform branch target load optimization before prologue / epilogue threading. -fbranch-target-load-optimize2 Perform branch target load optimization after prologue / epilogue threading. -fbtr-bb-exclusive Restrict target load migration not to re-use registers in any basic block. -fcaller-saves Save registers around function calls. -fcombine-stack-adjustments Looks for opportunities to reduce stack adjustments and stack references. -fcompare-elim Perform comparison elimination after register allocation has finished. -fconserve-stack Do not perform optimizations increasing noticeably stack usage. -fcprop-registers Perform a register copy-propagation optimization pass. -fcrossjumping Perform cross-jumping optimization. -fcse-follow-jumps When running CSE, follow jumps to their targets. -fcx-fortran-rules Complex multiplication and division follow Fortran rules. -fcx-limited-range Omit range reduction step when performing complex division. -fdce Use the RTL dead code elimination pass. -fdefer-pop Defer popping functions args from stack until later. -fdelayed-branch Attempt to fill delay slots of branch instructions. -fdelete-dead-exceptions Delete dead instructions that may throw exceptions. -fdelete-null-pointer-checks Delete useless null pointer checks. -fdevirtualize Try to convert virtual calls to direct ones. -fdevirtualize-speculatively Perform speculative devirtualization. -fdse Use the RTL dead store elimination pass. -fearly-inlining Perform early inlining. -fexceptions Enable exception handling. -fexpensive-optimizations Perform a number of minor, expensive optimizations. -ffinite-math-only Assume no NaNs or infinities are generated. -ffloat-store Don't allocate floats and doubles in extended- precision registers. -fforward-propagate Perform a forward propagation pass on RTL. -ffp-contract= -ffp-contract=[off|on|fast] Perform floating- point expression contraction. -ffunction-cse Allow function addresses to be held in registers. -fgcse Perform global common subexpression elimination. -fgcse-after-reload Perform global common subexpression elimination after register allocation has finished. -fgcse-las Perform redundant load after store elimination in global common subexpression elimination. -fgcse-lm Perform enhanced load motion during global common subexpression elimination. -fgcse-sm Perform store motion after global common subexpression elimination. -fgraphite Enable in and out of Graphite representation. -fgraphite-identity Enable Graphite Identity transformation. -fguess-branch-probability Enable guessing of branch probabilities. -fhoist-adjacent-loads Enable hoisting adjacent loads to encourage generating conditional move instructions. -fif-conversion Perform conversion of conditional jumps to branchless equivalents. -fif-conversion2 Perform conversion of conditional jumps to conditional execution. -findirect-inlining Perform indirect inlining. -finline Enable inlining of function declared "inline", disabling disables all inlining. -finline-atomics Inline __atomic operations when a lock free instruction sequence is available. -finline-functions-called-once Integrate functions only required by their single caller. -finline-small-functions Integrate functions into their callers when code size is known not to grow. -fipa-cp Perform interprocedural constant propagation. -fipa-cp-alignment Perform alignment discovery and propagation to make Interprocedural constant propagation stronger. -fipa-cp-clone Perform cloning to make Interprocedural constant propagation stronger. -fipa-icf Perform Identical Code Folding for functions and read-only variables. -fipa-icf-functions Perform Identical Code Folding for functions. -fipa-profile Perform interprocedural profile propagation. -fipa-pta Perform interprocedural points-to analysis. -fipa-pure-const Discover pure and const functions. -fipa-ra Use caller save register across calls if possible. -fipa-reference Discover readonly and non addressable static variables. -fipa-sra Perform interprocedural reduction of aggregates. -fira-algorithm= -fira-algorithm=[CB|priority] Set the used IRA algorithm. -fira-hoist-pressure Use IRA based register pressure calculation in RTL hoist optimizations. -fira-loop-pressure Use IRA based register pressure calculation in RTL loop optimizations. -fira-region= -fira-region=[one|all|mixed] Set regions for IRA. -fira-share-save-slots Share slots for saving different hard registers. -fira-share-spill-slots Share stack slots for spilled pseudo-registers. -fisolate-erroneous-paths-attribute Detect paths that trigger erroneous or undefined behavior due a null value being used in a way forbidden by a returns_nonnull or nonnull attribute. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap. -fisolate-erroneous-paths-dereference Detect paths that trigger erroneous or undefined behavior due to dereferencing a null pointer. Isolate those paths from the main control flow and turn the statement with erroneous or undefined behavior into a trap. -fivopts Optimize induction variables on trees. -fjump-tables Use jump tables for sufficiently large switch statements. -fkeep-gc-roots-live This option lacks documentation. -flifetime-dse Tell DSE that the storage for a C++ object is dead when the constructor starts and when the destructor finishes. -flifetime-dse= This option lacks documentation. -flive-range-shrinkage Relief of register pressure through live range shrinkage. -floop-nest-optimize Enable the loop nest optimizer. -floop-parallelize-all Mark all loops as parallel. -flra-remat Do CFG-sensitive rematerialization in LRA. -fmath-errno Set errno after built-in math functions. -fmodulo-sched Perform SMS based modulo scheduling before the first scheduling pass. -fmodulo-sched-allow-regmoves Perform SMS based modulo scheduling with register moves allowed. -fmove-loop-invariants Move loop invariant computations out of loops. -fnon-call-exceptions Support synchronous non-call exceptions. -fomit-frame-pointer When possible do not generate stack frames. -fopt-info Enable all optimization info dumps on stderr. -foptimize-sibling-calls Optimize sibling and tail recursive calls. -foptimize-strlen Enable string length optimizations on trees. -fpack-struct Pack structure members together without holes. -fpack-struct= Set initial maximum structure member alignment. -fpartial-inlining Perform partial inlining. -fpeel-loops Perform loop peeling. -fpeephole Enable machine specific peephole optimizations. -fpeephole2 Enable an RTL peephole pass before sched2. -fplt Use PLT for PIC calls (-fno-plt: load the address from GOT at call site). -fpredictive-commoning Run predictive commoning optimization. -fprefetch-loop-arrays Generate prefetch instructions, if available, for arrays in loops. -freciprocal-math Same as -fassociative-math for expressions which include division. -freg-struct-return Return small aggregates in registers. -frename-registers Perform a register renaming optimization pass. -freorder-blocks Reorder basic blocks to improve code placement. -freorder-blocks-algorithm= -freorder-blocks-algorithm=[simple|stc] Set the used basic block reordering algorithm. -freorder-blocks-and-partition Reorder basic blocks and partition into hot and cold sections. -freorder-functions Reorder functions to improve code placement. -frerun-cse-after-loop Add a common subexpression elimination pass after loop optimizations. -freschedule-modulo-scheduled-loops Enable/Disable the traditional scheduling in loops that already passed modulo scheduling. -frounding-math Disable optimizations that assume default FP rounding behavior. -fsched-critical-path-heuristic Enable the critical path heuristic in the scheduler. -fsched-dep-count-heuristic Enable the dependent count heuristic in the scheduler. -fsched-group-heuristic Enable the group heuristic in the scheduler. -fsched-interblock Enable scheduling across basic blocks. -fsched-last-insn-heuristic Enable the last instruction heuristic in the scheduler. -fsched-pressure Enable register pressure sensitive insn scheduling. -fsched-rank-heuristic Enable the rank heuristic in the scheduler. -fsched-spec Allow speculative motion of non-loads. -fsched-spec-insn-heuristic Enable the speculative instruction heuristic in the scheduler. -fsched-spec-load Allow speculative motion of some loads. -fsched-spec-load-dangerous Allow speculative motion of more loads. -fsched-stalled-insns Allow premature scheduling of queued insns. -fsched-stalled-insns-dep Set dependence distance checking in premature scheduling of queued insns. -fsched-stalled-insns-dep= Set dependence distance checking in premature scheduling of queued insns. -fsched-stalled-insns= Set number of queued insns that can be prematurely scheduled. -fsched2-use-superblocks If scheduling post reload, do superblock scheduling. -fschedule-fusion Perform a target dependent instruction fusion optimization pass. -fschedule-insns Reschedule instructions before register allocation. -fschedule-insns2 Reschedule instructions after register allocation. -fsection-anchors Access data in the same section from shared anchor points. -fsel-sched-pipelining Perform software pipelining of inner loops during selective scheduling. -fsel-sched-pipelining-outer-loops Perform software pipelining of outer loops during selective scheduling. -fsel-sched-reschedule-pipelined Reschedule pipelined regions without pipelining. -fselective-scheduling Schedule instructions using selective scheduling algorithm. -fselective-scheduling2 Run selective scheduling after reload. -fset-stack-executable For nested functions on stack executable permission is set. -fshrink-wrap Emit function prologues only before parts of the function that need it, rather than at the top of the function. -fsignaling-nans Disable optimizations observable by IEEE signaling NaNs. -fsigned-zeros Disable floating point optimizations that ignore the IEEE signedness of zero. -fsimd-cost-model= Specifies the vectorization cost model for code marked with a simd directive. -fsingle-precision-constant Convert floating point constants to single precision constants. -fsplit-ivs-in-unroller Split lifetimes of induction variables when loops are unrolled. -fsplit-paths Split paths leading to loop backedges. -fsplit-wide-types Split wide types into independent registers. -fssa-backprop Enable backward propagation of use properties at the SSA level. -fssa-phiopt Optimize conditional patterns using SSA PHI nodes. -fstack-reuse= -fstack-reuse=[all|named_vars|none] Set stack reuse level for local variables. -fstdarg-opt Optimize amount of stdarg registers saved to stack at start of function. -fstrict-aliasing Assume strict aliasing rules apply. -fstrict-overflow Treat signed overflow as undefined. -fstrict-volatile-bitfields Force bitfield accesses to match their type width. -fthread-jumps Perform jump threading optimizations. -ftracer Perform superblock formation via tail duplication. -ftrapping-math Assume floating-point operations can trap. -ftrapv Trap for signed overflow in addition, subtraction and multiplication. -ftree-bit-ccp Enable SSA-BIT-CCP optimization on trees. -ftree-builtin-call-dce Enable conditional dead code elimination for builtin calls. -ftree-ccp Enable SSA-CCP optimization on trees. -ftree-ch Enable loop header copying on trees. -ftree-coalesce-vars Enable SSA coalescing of user variables. -ftree-copy-prop Enable copy propagation on trees. -ftree-cselim Transform condition stores into unconditional ones. -ftree-dce Enable SSA dead code elimination optimization on trees. -ftree-dominator-opts Enable dominator optimizations. -ftree-dse Enable dead store elimination. -ftree-forwprop Enable forward propagation on trees. -ftree-fre Enable Full Redundancy Elimination (FRE) on trees. -ftree-loop-distribute-patterns Enable loop distribution for patterns transformed into a library call. -ftree-loop-distribution Enable loop distribution on trees. -ftree-loop-if-convert Convert conditional jumps in innermost loops to branchless equivalents. -ftree-loop-if-convert-stores Also if-convert conditional jumps containing memory writes. -ftree-loop-im Enable loop invariant motion on trees. -ftree-loop-ivcanon Create canonical induction variables in loops. -ftree-loop-optimize Enable loop optimizations on tree level. -ftree-loop-vectorize Enable loop vectorization on trees. -ftree-lrs Perform live range splitting during the SSA- >normal pass. -ftree-parallelize-loops= Enable automatic parallelization of loops. -ftree-partial-pre In SSA-PRE optimization on trees, enable partial- partial redundancy elimination. -ftree-phiprop Enable hoisting loads from conditional pointers. -ftree-pre Enable SSA-PRE optimization on trees. -ftree-pta Perform function-local points-to analysis on trees. -ftree-reassoc Enable reassociation on tree level. -ftree-scev-cprop Enable copy propagation of scalar-evolution information. -ftree-sink Enable SSA code sinking on trees. -ftree-slp-vectorize Enable basic block vectorization (SLP) on trees. -ftree-slsr Perform straight-line strength reduction. -ftree-sra Perform scalar replacement of aggregates. -ftree-switch-conversion Perform conversions of switch initializations. -ftree-tail-merge Enable tail merging on trees. -ftree-ter Replace temporary expressions in the SSA->normal pass. -ftree-vectorize Enable vectorization on trees. -ftree-vrp Perform Value Range Propagation on trees. -funconstrained-commons Assume common declarations may be overridden with ones with a larger trailing array. -funroll-all-loops Perform loop unrolling for all loops. -funroll-loops Perform loop unrolling when iteration count is known. -funsafe-loop-optimizations Allow loop optimizations to assume that the loops behave in normal way. -funsafe-math-optimizations Allow math optimizations that may violate IEEE or ISO standards. -funswitch-loops Perform loop unswitching. -funwind-tables Just generate unwind tables for exception handling. -fvar-tracking Perform variable tracking. -fvar-tracking-assignments Perform variable tracking by annotating assignments. -fvar-tracking-assignments-toggle Toggle -fvar-tracking-assignments. -fvar-tracking-uninit Perform variable tracking and also tag variables that are uninitialized. -fvariable-expansion-in-unroller Apply variable expansion when loops are unrolled. -fvect-cost-model= Specifies the cost model for vectorization. -fvpt Use expression value profiles in optimizations. -fweb Construct webs and split unrelated uses of single variable. -fwrapv Assume signed arithmetic overflow wraps around.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 12 The following options are target specific: -m128bit-long-double sizeof(long double) is 16. -m16 Generate 16bit i386 code. -m32 Generate 32bit i386 code. -m3dnow Support 3DNow! built-in functions. -m3dnowa Support Athlon 3Dnow! built-in functions. -m64 Generate 64bit x86-64 code. -m80387 Use hardware fp. -m8bit-idiv Expand 32bit/64bit integer divide into 8bit unsigned integer divide with run-time check. -m96bit-long-double sizeof(long double) is 12. -mabi= Generate code that conforms to the given ABI. -mabm Support code generation of Advanced Bit Manipulation (ABM) instructions. -maccumulate-outgoing-args Reserve space for outgoing arguments in the function prologue. -maddress-mode= Use given address mode. -madx Support flag-preserving add-carry instructions. -maes Support AES built-in functions and code generation. -malign-data= Use the given data alignment. -malign-double Align some doubles on dword boundary. -malign-functions= Function starts are aligned to this power of 2. -malign-jumps= Jump targets are aligned to this power of 2. -malign-loops= Loop code aligned to this power of 2. -malign-stringops Align destination of the string operations. -march= Generate code for given CPU. -masm= Use given assembler dialect. -mavx Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2 and AVX built-in functions and code generation. -mavx2 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2 built-in functions and code generation. -mavx256-split-unaligned-load Split 32-byte AVX unaligned load. -mavx256-split-unaligned-store Split 32-byte AVX unaligned store. -mavx512bw Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512BW built- in functions and code generation. -mavx512cd Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512CD built- in functions and code generation. -mavx512dq Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512DQ built- in functions and code generation. -mavx512er Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512ER built- in functions and code generation. -mavx512f Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F built-in functions and code generation. -mavx512ifma Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512IFMA built-in functions and code generation. -mavx512pf Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512PF built- in functions and code generation. -mavx512vbmi Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VBMI built-in functions and code generation. -mavx512vl Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2 and AVX512F and AVX512VL built- in functions and code generation. -mbmi Support BMI built-in functions and code generation. -mbmi2 Support BMI2 built-in functions and code generation. -mbranch-cost= Branches are this expensive (1-5, arbitrary units). -mcld Generate cld instruction in the function prologue. -mclflushopt Support CLFLUSHOPT instructions. -mclwb Support CLWB instruction. -mclzero Support CLZERO built-in functions and code generation. -mcmodel= Use given x86-64 code model. -mconsole Create console application. -mcpu= Same as -mtune=. Use the latter option instead. Uses of this option are diagnosed. -mcrc32 Support code generation of crc32 instruction. -mcx16 Support code generation of cmpxchg16b instruction. -mdispatch-scheduler Do dispatch scheduling if processor is bdver1, bdver2, bdver3, bdver4 or znver1 and Haifa scheduling is selected. -mdll Generate code for a DLL. -mdump-tune-features This option lacks documentation. -mf16c Support F16C built-in functions and code generation. -mfancy-math-387 Generate sin, cos, sqrt for FPU. -mfentry Emit profiling counter call at function entry before prologue. -mfma Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX and FMA built-in functions and code generation. -mfma4 Support FMA4 built-in functions and code generation. -mforce-drap Always use Dynamic Realigned Argument Pointer (DRAP) to realign stack. -mfp-ret-in-387 Return values of functions in FPU registers. -mfpmath= Generate floating point mathematics using given instruction set. -mfsgsbase Support FSGSBASE built-in functions and code generation. -mfused-madd Same as -ffp-contract=. Use the latter option instead. Uses of this option are diagnosed. -mfxsr Support FXSAVE and FXRSTOR instructions. -mhard-float Use hardware fp. -mhle Support Hardware Lock Elision prefixes. -miamcu Generate code that conforms to Intel MCU psABI. -mieee-fp Use IEEE math for fp comparisons. -mincoming-stack-boundary= Assume incoming stack aligned to this power of 2. -minline-all-stringops Inline all known string operations. -minline-stringops-dynamically Inline memset/memcpy string operations, but perform inline version only for small blocks. -mintel-syntax Same as -masm=. Use the latter option instead. Uses of this option are diagnosed. -mlarge-data-threshold= Data greater than given threshold will go into .ldata section in x86-64 medium model. -mlong-double-128 Use 128-bit long double. -mlong-double-64 Use 64-bit long double. -mlong-double-80 Use 80-bit long double. -mlwp Support LWP built-in functions and code generation. -mlzcnt Support LZCNT built-in function and code generation. -mmemcpy-strategy= Specify memcpy expansion strategy when expected size is known. -mmemset-strategy= Specify memset expansion strategy when expected size is known. -mmitigate-rop Attempt to avoid generating instruction sequences containing ret bytes. -mmmx Support MMX built-in functions. -mmovbe Support code generation of movbe instruction. -mmpx Support MPX code generation. -mms-bitfields Use native (MS) bitfield layout. -mmwaitx Support MWAITX and MONITORX built-in functions and code generation. -mno-align-stringops This option lacks documentation. -mno-default Clear all tune features. -mno-fancy-math-387 This option lacks documentation. -mno-push-args This option lacks documentation. -mno-red-zone This option lacks documentation. -mno-sse4 Do not support SSE4.1 and SSE4.2 built-in functions and code generation. -mnop-fun-dllimport Ignore dllimport for functions. -mnop-mcount Generate mcount/__fentry__ calls as nops. To activate they need to be patched in. -momit-leaf-frame-pointer Omit the frame pointer in leaf functions. -mpc32 Set 80387 floating-point precision to 32-bit. -mpc64 Set 80387 floating-point precision to 64-bit. -mpc80 Set 80387 floating-point precision to 80-bit. -mpclmul Support PCLMUL built-in functions and code generation. -mpcommit Support PCOMMIT instruction. -mpe-aligned-commons Use the GNU extension to the PE format for aligned common data. -mpku Support PKU built-in functions and code generation. -mpopcnt Support code generation of popcnt instruction. -mprefer-avx128 Use 128-bit AVX instructions instead of 256-bit AVX instructions in the auto-vectorizer. -mpreferred-stack-boundary= Attempt to keep stack aligned to this power of 2. -mprefetchwt1 Support PREFETCHWT1 built-in functions and code generation. -mprfchw Support PREFETCHW instruction. -mpush-args Use push instructions to save outgoing arguments. -mrdrnd Support RDRND built-in functions and code generation. -mrdseed Support RDSEED instruction. -mrecip Generate reciprocals instead of divss and sqrtss. -mrecip= Control generation of reciprocal estimates. -mrecord-mcount Generate __mcount_loc section with all mcount or __fentry__ calls. -mred-zone Use red-zone in the x86-64 code. -mregparm= Number of registers used to pass integer arguments. -mrtd Alternate calling convention. -mrtm Support RTM built-in functions and code generation. -msahf Support code generation of sahf instruction in 64bit x86-64 code. -msha Support SHA1 and SHA256 built-in functions and code generation. -mskip-rax-setup Skip setting up RAX register when passing variable arguments. -msoft-float Do not use hardware fp. -msse Support MMX and SSE built-in functions and code generation. -msse2 Support MMX, SSE and SSE2 built-in functions and code generation. -msse2avx Encode SSE instructions with VEX prefix. -msse3 Support MMX, SSE, SSE2 and SSE3 built-in functions and code generation. -msse4 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation. -msse4.1 Support MMX, SSE, SSE2, SSE3, SSSE3 and SSE4.1 built-in functions and code generation. -msse4.2 Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation. -msse4a Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation. -msse5 Same as -mavx. Use the latter option instead. Uses of this option are diagnosed. -msseregparm Use SSE register passing conventions for SF and DF mode. -mssse3 Support MMX, SSE, SSE2, SSE3 and SSSE3 built-in functions and code generation. -mstack-arg-probe Enable stack probing. -mstack-protector-guard= Use given stack-protector guard. -mstackrealign Realign stack in prologue. -mstringop-strategy= Chose strategy to generate stringop using. -mstv Disable Scalar to Vector optimization pass transforming 64-bit integer computations into a vector ones. -mtbm Support TBM built-in functions and code generation. -mthreads Use Mingw-specific thread support. -mtls-dialect= Use given thread-local storage dialect. -mtls-direct-seg-refs Use direct references against %gs when accessing tls data. -mtune-ctrl= Fine grain control of tune features. -mtune= Schedule code for given CPU. -municode Use unicode startup and define UNICODE macro. -mveclibabi= Vector library ABI to use. -mvect8-ret-in-mem Return 8-byte vectors in memory. -mvzeroupper Generate vzeroupper instruction before a transfer of control flow out of the function. -mwin32 Set Windows defines. -mwindows Create GUI application. -mx32 Generate 32bit x86-64 code. -mxop Support XOP built-in functions and code generation. -mxsave Support XSAVE and XRSTOR instructions. -mxsavec Support XSAVEC instructions. -mxsaveopt Support XSAVEOPT instruction. -mxsaves Support XSAVES and XRSTORS instructions. Known assembler dialects (for use with the -masm-dialect= option): att intel Known ABIs (for use with the -mabi= option): ms sysv Known code models (for use with the -mcmodel= option): 32 kernel large medium small Valid arguments to -mfpmath=: 387 387+sse 387,sse both sse sse+387 sse,387 Known data alignment choices (for use with the -malign-data= option): abi cacheline compat Known vectorization library ABIs (for use with the -mveclibabi= option): acml svml Known address mode (for use with the -maddress-mode= option): long short Known stack protector guard (for use with the -mstack-protector-guard= option): global tls Valid arguments to -mstringop-strategy=: byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop vector_loop Known TLS dialects (for use with the -mtls-dialect= option): gnu gnu2
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 13 The following options are language-independent: --debug Same as -g. Use the latter option instead. --dumpbase Same as -dumpbase. Use the latter option instead. --dumpdir Same as -dumpdir. Use the latter option instead. --help Display this information. --help= Display descriptions of a specific class of options. is one or more of optimizers, target, warnings, undocumented, params. --optimize Same as -O. Use the latter option instead. --param = Set parameter to value. See below for a complete list of parameters. --param= Same as --param. Use the latter option instead. --pedantic-errors Same as -pedantic-errors. Use the latter option instead. --profile Same as -p. Use the latter option instead. --target-help Alias for --help=target. --version This option lacks documentation. -Werror= Treat specified warning as error. -Wfatal-errors Exit on the first error occurred. -aux-info Emit declaration information into . -aux-info= Same as -aux-info. Use the latter option instead. -auxbase This option lacks documentation. -auxbase-strip This option lacks documentation. -dumpbase Set the file basename to be used for dumps. -dumpdir Set the directory name to be used for dumps. -fPIC Generate position-independent code if possible (large mode). -fPIE Generate position-independent code for executables if possible (large mode). -fabi-version= The version of the C++ ABI in use. -falign-functions= This option lacks documentation. -falign-jumps= This option lacks documentation. -falign-labels= This option lacks documentation. -falign-loops= This option lacks documentation. -fargument-alias Does nothing. Preserved for backward compatibility. -fargument-noalias Does nothing. Preserved for backward compatibility. -fargument-noalias-anything Does nothing. Preserved for backward compatibility. -fargument-noalias-global Does nothing. Preserved for backward compatibility. -fasan-shadow-offset= Use custom shadow memory offset. -fauto-profile Use sample profile information for call graph node weights. The default profile file is fbdata.afdo in 'pwd'. -fauto-profile= Use sample profile information for call graph node weights. The profile file is specified in the argument. -fbounds-check Generate code to check bounds before indexing arrays. -fcall-saved- Mark as being preserved across functions. -fcall-used- Mark as being corrupted by function calls. -fcheck-data-deps This switch is deprecated; do not use. -fcheck-new Check the return value of new in C++. -fchecking Perform internal consistency checkings. -fcommon Do not put uninitialized globals in the common section. -fcompare-debug-second Run only the second compilation of -fcompare- debug. -fcompare-debug[=] Compile with and without e.g. -gtoggle, and compare the final-insns dump. -fcse-skip-blocks Does nothing. Preserved for backward compatibility. -fdata-sections Place data items into their own section. -fdbg-cnt-list List all available debugging counters with their limits and counts. -fdbg-cnt=:[,:,...] Set the debug counter limit. -fdebug-prefix-map= Map one directory name to another in debug information. -fdebug-types-section Output .debug_types section when using DWARF v4 debuginfo. -fdevirtualize-at-ltrans Stream extra data to support more aggressive devirtualization in LTO local transformation mode. -fdiagnostics-color Same as -fdiagnostics-color=. Use the latter option instead. -fdiagnostics-color=[never|always|auto] Colorize diagnostics. -fdiagnostics-show-caret Show the source line with a caret indicating the column. -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics. -fdiagnostics-show-option Amend appropriate diagnostic messages with the command line option that controls them. -fdisable- -fdisable-[tree|rtl|ipa]-=range1+range2 disables an optimization pass. -fdump- Dump various compiler internals to a file. -fdump-final-insns=filename Dump to filename the insns at the end of translation. -fdump-go-spec=filename Write all declarations to file as Go code. -fdump-internal-locations Dump detailed information on GCC's internal representation of source code locations. -fdump-noaddr Suppress output of addresses in debugging dumps. -fdump-passes Dump optimization passes. -fdump-unnumbered Suppress output of instruction numbers, line number notes and addresses in debugging dumps. -fdump-unnumbered-links Suppress output of previous and next insn numbers in debugging dumps. -fdwarf2-cfi-asm Enable CFI tables via GAS assembler directives. -feliminate-dwarf2-dups Perform DWARF duplicate elimination. -feliminate-unused-debug-symbols Perform unused symbol elimination in debug info. -feliminate-unused-debug-types Perform unused type elimination in debug info. -femit-class-debug-always Do not suppress C++ class debug information. -fenable- -fenable-[tree|rtl|ipa]-=range1+range2 enables an optimization pass. -fexcess-precision=[fast|standard] Specify handling of excess floating-point precision. -ffast-math This option lacks documentation. -ffat-lto-objects Output lto objects containing both the intermediate language and binary output. -ffixed- Mark as being unavailable to the compiler. -fforce-addr Does nothing. Preserved for backward compatibility. -ffunction-sections Place each function into its own section. -fgnat-encodings=[all|gdb|minimal] Select the balance between GNAT encodings and standard DWARF emitted in the debug information -fgnu-tm Enable support for GNU transactional memory. -fgnu-unique Use STB_GNU_UNIQUE if supported by the assembler. -fhelp Same as --help. Use the latter option instead. -fhelp= Same as --help=. Use the latter option instead. -fident Process #ident directives. -finhibit-size-directive Do not generate .size directives. -finline-limit- Same as -finline-limit=. Use the latter option instead. -finline-limit= Limit the size of inlined functions to . -finstrument-functions Instrument function entry and exit with profiling calls. -finstrument-functions-exclude-file-list= -finstrument-functions-exclude-file- list=filename,... Do not instrument functions listed in files. -finstrument-functions-exclude-function-list= -finstrument-functions-exclude- function-list=name,... Do not instrument listed functions. -fipa-icf-variables Perform Identical Code Folding for variables. -fipa-matrix-reorg Does nothing. Preserved for backward compatibility. -fipa-struct-reorg Does nothing. Preserved for backward compatibility. -fira-verbose= Control IRA's level of diagnostic messages. -fkeep-inline-functions Generate code for functions even if they are fully inlined. -fkeep-static-consts Emit static const variables even if they are not used. -fkeep-static-functions Generate code for static functions even if they are never called. -fleading-underscore Give external symbols a leading underscore. -floop-block Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -floop-flatten Does nothing. Preserved for backward compatibility. -floop-interchange Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -floop-optimize Does nothing. Preserved for backward compatibility. -floop-strip-mine Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -floop-unroll-and-jam Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -flto Enable link-time optimization. -flto-compression-level= Use zlib compression level for IL. -flto-odr-type-merging Merge C++ types using One Definition Rule. -flto-partition= Specify the algorithm to partition symbols and vars at linktime. -flto-report Report various link-time optimization statistics. -flto-report-wpa Report various link-time optimization statistics for WPA only. -flto= Link-time optimization with number of parallel jobs or jobserver. -fmax-errors= Maximum number of errors to report. -fmem-report Report on permanent memory allocation. -fmem-report-wpa Report on permanent memory allocation in WPA only. -fmerge-all-constants Attempt to merge identical constants and constant variables. -fmerge-constants Attempt to merge identical constants across compilation units. -fmerge-debug-strings Attempt to merge identical debug strings across compilation units. -fmessage-length= Limit diagnostics to characters per line. 0 suppresses line-wrapping. -fno-vect-cost-model Enables the unlimited vectorizer cost model. Preserved for backward compatibility. Same as -fvect-cost-model=. -foffload-abi= -foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler. -foffload= -foffload== Specify offloading targets and options for them. -fopt-info[-=filename] Dump compiler optimization details. -foptimize-register-move Does nothing. Preserved for backward compatibility. -fpcc-struct-return Return small aggregates in memory, not registers. -fpic Generate position-independent code if possible (small mode). -fpie Generate position-independent code for executables if possible (small mode). -fplugin-arg--[=] Specify argument = for plugin . -fplugin= Specify a plugin to load. -fpost-ipa-mem-report Report on memory allocation before interprocedural optimization. -fpre-ipa-mem-report Report on memory allocation before interprocedural optimization. -fprofile Enable basic program profiling code. -fprofile-arcs Insert arc-based program profiling code. -fprofile-correction Enable correction of flow inconsistent profile data input. -fprofile-dir= Set the top-level directory for storing the profile data. The default is 'pwd'. -fprofile-generate Enable common options for generating profile info for profile feedback directed optimizations. -fprofile-generate= Enable common options for generating profile info for profile feedback directed optimizations, and set -fprofile-dir=. -fprofile-reorder-functions Enable function reordering that improves code placement. -fprofile-report Report on consistency of profile. -fprofile-use Enable common options for performing profile feedback directed optimizations. -fprofile-use= Enable common options for performing profile feedback directed optimizations, and set -fprofile-dir=. -fprofile-values Insert code to profile values of expressions. -frandom-seed This option lacks documentation. -frandom-seed= Make compile reproducible using . -frecord-gcc-switches Record gcc command line switches in the object file. -free Turn on Redundant Extensions Elimination pass. -fregmove Does nothing. Preserved for backward compatibility. -freport-bug Collect and dump debug information into temporary file if ICE in C/C++ compiler occured. -frerun-loop-opt Does nothing. Preserved for backward compatibility. -fsanitize-coverage=trace-pc Enable coverage-guided fuzzing code instrumentation. Inserts call to __sanitizer_cov_trace_pc into every basic block. -fsanitize-recover This switch is deprecated; use -fsanitize- recover= instead. -fsanitize-recover= After diagnosing undefined behavior attempt to continue execution. -fsanitize-sections= Sanitize global variables in user-defined sections. -fsanitize-undefined-trap-on-error Use trap instead of a library function for undefined behavior sanitization. -fsanitize= Select what to sanitize. -fsched-verbose= Set the verbosity level of the scheduler. -fsched2-use-traces Does nothing. Preserved for backward compatibility. -fsee Does nothing. Preserved for backward compatibility. -fsemantic-interposition Allow interposing function (or variables) by ones with different semantics (or initializer) respectively by dynamic linker. -fshow-column Show column numbers in diagnostics, when available. Default on. -fsplit-stack Generate discontiguous stack frames. -fstack-check Insert stack checking code into the program. Same as -fstack-check=specific. Same as -fstack- check=. -fstack-check=[no|generic|specific] Insert stack checking code into the program. -fstack-limit This option lacks documentation. -fstack-limit-register= Trap if the stack goes past . -fstack-limit-symbol= Trap if the stack goes past symbol . -fstack-protector Use propolice as a stack protection method. -fstack-protector-all Use a stack protection method for every function. -fstack-protector-explicit Use stack protection method only for functions with the stack_protect attribute. -fstack-protector-strong Use a smart stack protection method for certain functions. -fstack-usage Output stack usage information on a per-function basis. -fstrength-reduce Does nothing. Preserved for backward compatibility. -fsync-libcalls Implement __atomic operations via libcalls to legacy __sync functions. -fsyntax-only Check for syntax errors, then stop. -ftarget-help Same as --target-help. Use the latter option instead. -ftest-coverage Create data files needed by "gcov". -ftime-report Report the time taken by each compiler pass. -ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model. -ftoplevel-reorder Reorder top level functions, variables, and asms. -ftree-coalesce-inlined-vars Does nothing. Preserved for backward compatibility. -ftree-copyrename Does nothing. Preserved for backward compatibility. -ftree-loop-linear Enable loop nest transforms. Same as -floop-nest- optimize. Same as -floop-nest-optimize. -ftree-salias Does nothing. Preserved for backward compatibility. -ftree-store-ccp Does nothing. Preserved for backward compatibility. -ftree-store-copy-prop Does nothing. Preserved for backward compatibility. -ftree-vect-loop-version Does nothing. Preserved for backward compatibility. -ftree-vectorizer-verbose= Does nothing. Preserved for backward compatibility. -funit-at-a-time Compile whole compilation unit at a time. -fuse-ld=bfd Use the bfd linker instead of the default linker. -fuse-ld=gold Use the gold linker instead of the default linker. -fuse-linker-plugin This option lacks documentation. -fvect-cost-model Enables the dynamic vectorizer cost model. Preserved for backward compatibility. Same as -fvect-cost-model=. -fverbose-asm Add extra commentary to assembler output. -fversion This option lacks documentation. -fvisibility=[default|internal|hidden|protected] Set the default symbol visibility. -fvtable-verify= Validate vtable pointers before using them. -fvtv-counts Output vtable verification counters. -fvtv-debug Output vtable verification pointer sets information. -fwhole-program Perform whole program optimizations. -fwritable-relocated-rdata Put relocated read-only data into .data section. -fzee Does nothing. Preserved for backward compatibility. -fzero-initialized-in-bss Put zero initialized data in the bss section.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 14 -g Generate debug information in default format. -gcoff Generate debug information in COFF format. -gdwarf Generate debug information in default version of DWARF format. -gdwarf- Generate debug information in DWARF v2 (or later) format. -ggdb Generate debug information in default extended format. -ggnu-pubnames Generate DWARF pubnames and pubtypes sections with GNU extensions. -gno-pubnames Don't generate DWARF pubnames and pubtypes sections. -gno-record-gcc-switches Don't record gcc command line switches in DWARF DW_AT_producer. -gno-split-dwarf Don't generate debug information in separate .dwo files. -gno-strict-dwarf Emit DWARF additions beyond selected version. -gpubnames Generate DWARF pubnames and pubtypes sections. -grecord-gcc-switches Record gcc command line switches in DWARF DW_AT_producer. -gsplit-dwarf Generate debug information in separate .dwo files. -gstabs Generate debug information in STABS format. -gstabs+ Generate debug information in extended STABS format. -gstrict-dwarf Don't emit DWARF additions beyond selected version. -gtoggle Toggle debug information generation. -gvms Generate debug information in VMS format. -gxcoff Generate debug information in XCOFF format. -gxcoff+ Generate debug information in extended XCOFF format. -gz Generate compressed debug sections. -gz= Generate compressed debug sections in format . -imultiarch Set to be the multiarch include subdirectory. -iplugindir= Set to be the default plugin directory. -p Enable function profiling. -pedantic-errors Like -pedantic but issue them as errors. -quiet Do not display functions compiled or elapsed time.
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 15 Usage: C:/WorkLib/MinGW/Bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/as.exe [option...] [asmfile...] Options: -a[sub-option...] turn on listings Sub-options [default hls]: c omit false conditionals d omit debugging directives g include general info h include high-level source l include assembly m include macro expansions n omit forms processing s include symbols =FILE list to FILE (must be last sub-option) --alternate initially turn on alternate macro syntax --compress-debug-sections compress DWARF debug sections using zlib --nocompress-debug-sections don't compress DWARF debug sections -D produce assembler debugging messages --debug-prefix-map OLD=NEW map OLD to NEW in debug information --defsym SYM=VAL define symbol SYM to given value -f skip whitespace and comment preprocessing -g --gen-debug generate debugging information --gstabs generate STABS debugging information --gstabs+ generate STABS debug info with GNU extensions --gdwarf-2 generate DWARF2 debugging information --gdwarf-sections generate per-function section names for DWARF line information --hash-size= set the hash table size close to --help show this message and exit --target-help show target specific options -I DIR add DIR to search list for .include directives -J don't warn about signed overflow -K warn when differences altered for long displacements -L,--keep-locals keep local symbols (e.g. starting with `L') -M,--mri assemble in MRI compatibility mode --MD FILE write dependency information in FILE (default none) -nocpp ignored -o OBJFILE name the object-file output OBJFILE (default a.out) -R fold data section into text section --reduce-memory-overheads prefer smaller memory use at the cost of longer assembly times --statistics print various measured statistics from execution --strip-local-absolute strip local absolute symbols --traditional-format Use same format as native assembler when possible --version print assembler version number and exit -W --no-warn suppress warnings --warn don't suppress warnings --fatal-warnings treat warnings as errors -w ignored -X ignored -Z generate object file even after errors --listing-lhs-width set the width in words of the output data column of the listing --listing-lhs-width2 set the width in words of the continuation lines of the output data column; ignored if smaller than the width of the first line --listing-rhs-width set the max width in characters of the lines from the source file --listing-cont-lines set the maximum number of continuation lines used for the output data column of the listing @FILE read options from FILE -n Do not optimize code alignment -q quieten some warnings --32/--64/--x32 generate 32bit/64bit/x32 code --divide ignored -march=CPU[,+EXTENSION...] generate code for CPU and EXTENSION, CPU is one of: generic32, generic64, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, l1om, k1om, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, btver1, btver2 EXTENSION is combination of: 8087, 287, 387, no87, mmx, nommx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4, nosse, avx, avx2, avx512f, avx512cd, avx512er, avx512pf, avx512dq, avx512bw, avx512vl, noavx, vmx, vmfunc, smx, xsave, xsaveopt, xsavec, xsaves, aes, pclmul, fsgsbase, rdrnd, f16c, bmi2, fma, fma4, xop, lwp, movbe, cx16, ept, lzcnt, hle, rtm, invpcid, clflush, nop, syscall, rdtscp, 3dnow, 3dnowa, padlock, svme, sse4a, abm, bmi, tbm, adx, rdseed, prfchw, smap, mpx, sha, clflushopt, prefetchwt1, se1, clwb, pcommit, avx512ifma, avx512vbmi -mtune=CPU optimize for CPU, CPU is one of: generic32, generic64, i8086, i186, i286, i386, i486, i586, i686, pentium, pentiumpro, pentiumii, pentiumiii, pentium4, prescott, nocona, core, core2, corei7, l1om, k1om, k6, k6_2, athlon, opteron, k8, amdfam10, bdver1, bdver2, bdver3, bdver4, btver1, btver2 -msse2avx encode SSE instructions with VEX prefix -msse-check=[none|error|warning] check SSE instructions -moperand-check=[none|error|warning] check operand combinations for validity -mavxscalar=[128|256] encode scalar AVX instructions with specific vector length -mevexlig=[128|256|512] encode scalar EVEX instructions with specific vector length -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W value for EVEX.W bit ignored instructions -mevexrcig=[rne|rd|ru|rz] encode EVEX instructions with specific EVEX.RC value for SAE-only ignored instructions -mmnemonic=[att|intel] use AT&T/Intel mnemonic -msyntax=[att|intel] use AT&T/Intel syntax -mindex-reg support pseudo index registers -mnaked-reg don't require `%' prefix for registers -mold-gcc support old (<= 2.8.1) versions of gcc -madd-bnd-prefix add BND prefix for all valid branches -mbig-obj generate big object files -momit-lock-prefix=[no|yes] strip all lock prefixes
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 16 Report bugs to <> Usage: collect2 [options] Wrap linker and generate constructor code if needed. Options: -debug Enable debug output --help Display this information -v, --version Display this program's version number Overview: http://gcc.gnu.org/onlinedocs/gccint/Collect2.html Report bugs: <> Usage: C:/WorkLib/MinGW/Bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe [options] file... Options: -a KEYWORD Shared library control for HP/UX compatibility -A ARCH, --architecture ARCH Set architecture -b TARGET, --format TARGET Specify target for following input files -c FILE, --mri-script FILE Read MRI format linker script -d, -dc, -dp Force common symbols to be defined -e ADDRESS, --entry ADDRESS Set start address -E, --export-dynamic Export all dynamic symbols --no-export-dynamic Undo the effect of --export-dynamic -EB Link big-endian objects -EL Link little-endian objects -f SHLIB, --auxiliary SHLIB Auxiliary filter for shared object symbol table -F SHLIB, --filter SHLIB Filter for shared object symbol table -g Ignored -G SIZE, --gpsize SIZE Small data size (if no size, same as --shared) -h FILENAME, -soname FILENAME Set internal name of shared library -I PROGRAM, --dynamic-linker PROGRAM Set PROGRAM as the dynamic linker to use -l LIBNAME, --library LIBNAME Search for library LIBNAME -L DIRECTORY, --library-path DIRECTORY Add DIRECTORY to library search path --sysroot= Override the default sysroot location -m EMULATION Set emulation -M, --print-map Print map file on standard output -n, --nmagic Do not page align data -N, --omagic Do not page align data, do not make text readonly --no-omagic Page align data, make text readonly -o FILE, --output FILE Set output file name -O Optimize output file -plugin PLUGIN Load named plugin -plugin-opt ARG Send arg to last-loaded plugin -flto Ignored for GCC LTO option compatibility -flto-partition= Ignored for GCC LTO option compatibility -fuse-ld= Ignored for GCC linker option compatibility -Qy Ignored for SVR4 compatibility -q, --emit-relocs Generate relocations in final output -r, -i, --relocatable Generate relocatable output -R FILE, --just-symbols FILE Just link symbols (if directory, same as --rpath) -s, --strip-all Strip all symbols -S, --strip-debug Strip debugging symbols --strip-discarded Strip symbols in discarded sections --no-strip-discarded Do not strip symbols in discarded sections -t, --trace Trace file opens -T FILE, --script FILE Read linker script --default-script FILE, -dT Read default linker script -u SYMBOL, --undefined SYMBOL Start with undefined reference to SYMBOL --unique [=SECTION] Don't merge input [SECTION | orphan] sections -Ur Build global constructor/destructor tables -v, --version Print version information -V Print version and emulation information -x, --discard-all Discard all local symbols -X, --discard-locals Discard temporary local symbols (default) --discard-none Don't discard any local symbols -y SYMBOL, --trace-symbol SYMBOL Trace mentions of SYMBOL -Y PATH Default search path for Solaris compatibility -(, --start-group Start a group -), --end-group End a group --accept-unknown-input-arch Accept input files whose architecture cannot be determined --no-accept-unknown-input-arch Reject input files whose architecture is unknown --as-needed Only set DT_NEEDED for following dynamic libs if used --no-as-needed Always set DT_NEEDED for dynamic libraries mentioned on the command line -assert KEYWORD Ignored for SunOS compatibility -Bdynamic, -dy, -call_shared Link against shared libraries -Bstatic, -dn, -non_shared, -static Do not link against shared libraries -Bsymbolic Bind global references locally -Bsymbolic-functions Bind global function references locally --check-sections Check section addresses for overlaps (default) --no-check-sections Do not check section addresses for overlaps --copy-dt-needed-entries Copy DT_NEEDED links mentioned inside DSOs that follow --no-copy-dt-needed-entries Do not copy DT_NEEDED links mentioned inside DSOs that follow --cref Output cross reference table --defsym SYMBOL=EXPRESSION Define a symbol --demangle [=STYLE] Demangle symbol names [using STYLE] --embedded-relocs Generate embedded relocs --fatal-warnings Treat warnings as errors --no-fatal-warnings Do not treat warnings as errors (default) -fini SYMBOL Call SYMBOL at unload-time --force-exe-suffix Force generation of file with .exe suffix --gc-sections Remove unused sections (on some targets) --no-gc-sections Don't remove unused sections (default) --print-gc-sections List removed unused sections on stderr --no-print-gc-sections Do not list removed unused sections --hash-size= Set default hash table size close to --help Print option help -init SYMBOL Call SYMBOL at load-time -Map FILE Write a map file --no-define-common Do not define Common storage --no-demangle Do not demangle symbol names --no-keep-memory Use less memory and more disk I/O --no-undefined Do not allow unresolved references in object files --allow-shlib-undefined Allow unresolved references in shared libraries --no-allow-shlib-undefined Do not allow unresolved references in shared libs --allow-multiple-definition Allow multiple definitions --no-undefined-version Disallow undefined version --default-symver Create default symbol version --default-imported-symver Create default symbol version for imported symbols --no-warn-mismatch Don't warn about mismatched input files --no-warn-search-mismatch Don't warn on finding an incompatible library --no-whole-archive Turn off --whole-archive --noinhibit-exec Create an output file even if errors occur -nostdlib Only use library directories specified on the command line --oformat TARGET Specify target of output file --print-output-format Print default output format --print-sysroot Print current sysroot -qmagic Ignored for Linux compatibility --reduce-memory-overheads Reduce memory overheads, possibly taking much longer --relax Reduce code size by using target specific optimizations --no-relax Do not use relaxation techniques to reduce code size --retain-symbols-file FILE Keep only symbols listed in FILE -rpath PATH Set runtime shared library search path -rpath-link PATH Set link time shared library search path -shared, -Bshareable Create a shared library -pie, --pic-executable Create a position independent executable --sort-common [=ascending|descending] Sort common symbols by alignment [in specified order] --sort-section name|alignment Sort sections by name or maximum alignment --spare-dynamic-tags COUNT How many tags to reserve in .dynamic section --split-by-file [=SIZE] Split output sections every SIZE octets --split-by-reloc [=COUNT] Split output sections every COUNT relocs --stats Print memory usage statistics --target-help Display target specific options --task-link SYMBOL Do task level linking --traditional-format Use same format as native linker --section-start SECTION=ADDRESS Set address of named section -Tbss ADDRESS Set address of .bss section -Tdata ADDRESS Set address of .data section -Ttext ADDRESS Set address of .text section -Ttext-segment ADDRESS Set address of text segment -Trodata-segment ADDRESS Set address of rodata segment -Tldata-segment ADDRESS Set address of ldata segment --unresolved-symbols= How to handle unresolved symbols. is: ignore-all, report-all, ignore-in-object-files, ignore-in-shared-libs --verbose [=NUMBER] Output lots of information during link --version-script FILE Read version information script --version-exports-section SYMBOL Take export symbols list from .exports, using SYMBOL as the version. --dynamic-list-data Add data symbols to dynamic list --dynamic-list-cpp-new Use C++ operator new/delete dynamic list --dynamic-list-cpp-typeinfo Use C++ typeinfo dynamic list --dynamic-list FILE Read dynamic list --warn-common Warn about duplicate common symbols --warn-constructors Warn if global constructors/destructors are seen --warn-multiple-gp Warn if the multiple GP values are used --warn-once Warn only once per undefined symbol --warn-section-align Warn if start of section changes due to alignment --warn-shared-textrel Warn if shared object has DT_TEXTREL --warn-alternate-em Warn if an object has alternate ELF machine code --warn-unresolved-symbols Report unresolved symbols as warnings --error-unresolved-symbols Report unresolved symbols as errors --whole-archive Include all objects from following archives --wrap SYMBOL Use wrapper functions for SYMBOL --ignore-unresolved-symbol SYMBOL Unresolved SYMBOL will not cause an error or warning --push-state Push state of flags governing input file handling --pop-state Pop state of flags governing input file handling @FILE Read options from FILE
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
MinGW v6.1.0 64-bit Options - Group 17 C:/WorkLib/MinGW/Bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: supported targets: pe-x86-64 pei-x86-64 pe-bigobj-x86-64 elf64-x86-64 elf64-l1om elf64-k1om pe-i386 pei-i386 elf32-i386 elf64-little elf64-big elf32-little elf32-big plugin srec symbolsrec verilog tekhex binary ihex C:/WorkLib/MinGW/Bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: supported emulations: i386pep i386pe C:/WorkLib/MinGW/Bin/../lib/gcc/x86_64-w64-mingw32/6.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: emulation specific options: i386pep: --base_file Generate a base file for relocatable DLLs --dll Set image base to the default for DLLs --file-alignment Set file alignment --heap Set initial size of the heap --image-base
Set start address of the executable --major-image-version Set version number of the executable --major-os-version Set minimum required OS version --major-subsystem-version Set minimum required OS subsystem version --minor-image-version Set revision number of the executable --minor-os-version Set minimum required OS revision --minor-subsystem-version Set minimum required OS subsystem revision --section-alignment Set section alignment --stack Set size of the initial stack --subsystem [:] Set required OS subsystem [& version] --support-old-code Support interworking with old code --[no-]leading-underscore Set explicit symbol underscore prefix mode --[no-]insert-timestamp Use a real timestamp rather than zero. (default) This makes binaries non-deterministic --add-stdcall-alias Export symbols with and without @nn --disable-stdcall-fixup Don't link _sym to _sym@nn --enable-stdcall-fixup Link _sym to _sym@nn without warnings --exclude-symbols sym,sym,... Exclude symbols from automatic export --exclude-all-symbols Exclude all symbols from automatic export --exclude-libs lib,lib,... Exclude libraries from automatic export --exclude-modules-for-implib mod,mod,... Exclude objects, archive members from auto export, place into import library instead. --export-all-symbols Automatically export all globals to DLL --kill-at Remove @nn from exported symbols --out-implib Generate import library --output-def Generate a .DEF file for the built DLL --warn-duplicate-exports Warn about duplicate exports. --compat-implib Create backward compatible import libs; create __imp_ as well. --enable-auto-image-base Automatically choose image base for DLLs unless user specifies one --disable-auto-image-base Do not auto-choose image base. (default) --dll-search-prefix= When linking dynamically to a dll without an importlib, use .dll in preference to lib.dll --enable-auto-import Do sophisticated linking of _sym to __imp_sym for DATA references --disable-auto-import Do not auto-import DATA items from DLLs --enable-runtime-pseudo-reloc Work around auto-import limitations by adding pseudo-relocations resolved at runtime. --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for auto-imported DATA. --enable-extra-pep-debug Enable verbose debug output when building or linking to DLLs (esp. auto-import) --enable-long-section-names Use long COFF section names even in executable image files --disable-long-section-names Never use long COFF section names, even in object files --high-entropy-va Image is compatible with 64-bit address space layout randomization (ASLR) --dynamicbase Image base address may be relocated using address space layout randomization (ASLR) --forceinteg Code integrity checks are enforced --nxcompat Image is compatible with data execution prevention --no-isolation Image understands isolation but do not isolate the image --no-seh Image does not use SEH. No SE handler may be called in this image --no-bind Do not bind this image --wdmdriver Driver uses the WDM model --tsaware Image is Terminal Server aware --build-id[=STYLE] Generate build ID i386pe: --base_file Generate a base file for relocatable DLLs --dll Set image base to the default for DLLs --file-alignment Set file alignment --heap Set initial size of the heap --image-base
Set start address of the executable --major-image-version Set version number of the executable --major-os-version Set minimum required OS version --major-subsystem-version Set minimum required OS subsystem version --minor-image-version Set revision number of the executable --minor-os-version Set minimum required OS revision --minor-subsystem-version Set minimum required OS subsystem revision --section-alignment Set section alignment --stack Set size of the initial stack --subsystem [:] Set required OS subsystem [& version] --support-old-code Support interworking with old code --[no-]leading-underscore Set explicit symbol underscore prefix mode --thumb-entry= Set the entry point to be Thumb --[no-]insert-timestamp Use a real timestamp rather than zero (default). This makes binaries non-deterministic --add-stdcall-alias Export symbols with and without @nn --disable-stdcall-fixup Don't link _sym to _sym@nn --enable-stdcall-fixup Link _sym to _sym@nn without warnings --exclude-symbols sym,sym,... Exclude symbols from automatic export --exclude-all-symbols Exclude all symbols from automatic export --exclude-libs lib,lib,... Exclude libraries from automatic export --exclude-modules-for-implib mod,mod,... Exclude objects, archive members from auto export, place into import library instead. --export-all-symbols Automatically export all globals to DLL --kill-at Remove @nn from exported symbols --out-implib Generate import library --output-def Generate a .DEF file for the built DLL --warn-duplicate-exports Warn about duplicate exports --compat-implib Create backward compatible import libs; create __imp_ as well. --enable-auto-image-base[=
] Automatically choose image base for DLLs (optionally starting with address) unless specifically set with --image-base --disable-auto-image-base Do not auto-choose image base. (default) --dll-search-prefix= When linking dynamically to a dll without an importlib, use .dll in preference to lib.dll --enable-auto-import Do sophisticated linking of _sym to __imp_sym for DATA references --disable-auto-import Do not auto-import DATA items from DLLs --enable-runtime-pseudo-reloc Work around auto-import limitations by adding pseudo-relocations resolved at runtime. --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for auto-imported DATA. --enable-extra-pe-debug Enable verbose debug output when building or linking to DLLs (esp. auto-import) --large-address-aware Executable supports virtual addresses greater than 2 gigabytes --disable-large-address-aware Executable does not support virtual addresses greater than 2 gigabytes --enable-long-section-names Use long COFF section names even in executable image files --disable-long-section-names Never use long COFF section names, even in object files --dynamicbase Image base address may be relocated using address space layout randomization (ASLR) --forceinteg Code integrity checks are enforced --nxcompat Image is compatible with data execution prevention --no-isolation Image understands isolation but do not isolate the image --no-seh Image does not use SEH. No SE handler may be called in this image --no-bind Do not bind this image --wdmdriver Driver uses the WDM model --tsaware Image is Terminal Server aware --build-id[=STYLE] Generate build ID Report bugs to <> For bug reporting instructions, please see: <>
0 Kudos
SergeyKostrov
Valued Contributor II
1,906 Views
[ A message to IDZ Forums Moderator ] Please correct the thread title and remove '***'. After your correction the thread title should look like: Evolution of Command Line options of different C++ compilers That is, no '***' at the beginning and at the end of the title. Thanks in advance.
0 Kudos
Reply