From 7063ee94d58c9ac888d0987ccce98650eb5bfbf4 Mon Sep 17 00:00:00 2001 From: SPEC Date: Tue, 11 Feb 2025 17:11:43 +0800 Subject: [PATCH] Update dictionary.json --- dictionary.json | 2968 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 2461 insertions(+), 507 deletions(-) diff --git a/dictionary.json b/dictionary.json index cddfaf5..14e16e5 100644 --- a/dictionary.json +++ b/dictionary.json @@ -69877,8 +69877,14 @@ { "name": "bisheng compiler4.0.0", "version": "4.0.0", - "help_url": "https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compiler/ug-bisheng/kunpengbisheng_06_0001.html", + "help_url": "https://www.hikunpeng.com/document/detail/zh/kunpengdevkithistory/bisheng/hist-bisheng/kunpengbisheng_06_0001_0.html", "description": "AArch64 compilation option information of BiSheng Compiler4.0.0" + }, + { + "name": "bisheng compiler4.1.0", + "version": "4.1.0", + "help_url": "https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compiler/ug-bisheng/kunpengbisheng_06_0001.html", + "description": "AArch64 compilation option information of BiSheng Compiler4.1.0" } ], "compileOption": [ @@ -83975,1323 +83981,2753 @@ "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.1.0", + "name": "-stdlib", + "range": ["libstdc++", "libc++"], + "description": "Specify the C++ standard library to use; supported options are libstdc++ and libc++. If not specified, platform default will be used.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-rtlib", + "range": ["libgcc", "compiler-rt"], + "description": "Specify the compiler runtime library to use; supported options are libgcc and compiler-rt. If not specified, platform default will be used.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ansi", + "range": [], + "description": "Same as -std=c89.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ObjC", + "range": [], + "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ObjC++", + "range": [], + "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-trigraphs", + "range": [], + "description": "Enable trigraphs.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ffreestanding", + "range": [], + "description": "Indicate that the file should be compiled for a freestanding, not a hosted, environment. Note that it is assumed that a freestanding environment will additionally provide memcpy, memmove, memset and memcmp implementations, as these are needed for efficient codegen for many programs.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-builtin", + "range": [], + "description": "Disable special handling and optimizations of builtin functions like strlen() and malloc().", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fmath-errno", + "range": [], + "description": "Indicate that math functions should be treated as updating errno.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fpascal-strings", + "range": [], + "description": "Enable support for Pascal-style strings with '\\pfoo'.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fms-extensions", + "range": [], + "description": "Enable support for Microsoft extensions.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fmsc-version", + "range": [], + "description": "Set _MSC_VER. Defaults to 1300 on Windows. Not set otherwise.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fborland-extensions", + "range": [], + "description": "Enable support for Borland extensions.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fwritable-strings", + "range": [], + "description": "Make all string literals default to writable. This disables uniquing of strings and other optimizations.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-flax-vector-conversions", + "range": ["none", "integer", "all"], + "description": "Allow loose type checking rules for implicit vector conversions. Defaults to integer if unspecified.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-lax-vector-conversions", + "range": [], + "description": "Allow loose type checking rules for implicit vector conversions.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fblocks", + "range": [], + "description": "Enable the 'Blocks' language feature.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fobjc-abi-version", + "range": ["1", "2", "3"], + "description": "Select the Objective-C ABI version to use. Available versions are 1 (legacy 'fragile' ABI), 2 (non-fragile ABI 1), and 3 (non-fragile ABI 2).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fobjc-nonfragile-abi-version", + "range": [], + "description": "Select the Objective-C non-fragile ABI version to use by default. This will only be used as the Objective-C ABI when the non-fragile ABI is enabled (either via -fobjc-nonfragile-abi, or because it is the platform default).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fobjc-nonfragile-abi", + "range": [], + "description": "Enable use of the Objective-C non-fragile ABI.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-objc-nonfragile-abi", + "range": [], + "description": "Enable use of the Objective-C non-fragile ABI. On platforms for which this is the default ABI, it can be disabled with -fno-objc-nonfragile-abi.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-arch", + "range": [], + "description": "Specify the architecture to build for.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-mmacosx-version-min", + "range": [], + "description": "When building for macOS, specify the minimum version supported by your application.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-miphoneos-version-min", + "range": [], + "description": "When building for iPhone OS, specify the minimum version supported by your application.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-mcpu", + "range": [], + "description": "Acts as an alias for --print-supported-cpus.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-mtune", + "range": [], + "description": "Acts as an alias for --print-supported-cpus.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-march", + "range": [], + "description": "Specify that Clang should generate code for a specific processor family member and later. For example, if you specify -march=i486, the compiler is allowed to generate instructions that are valid on i486 and later processors, but which may not exist on earlier ones.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-g", + "range": [], + "description": "Generate debug information.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-gline-tables-only", + "range": [], + "description": "Generate only line table debug information. This allows for symbolicated backtraces with inlining information, but does not include any information about variables, their locations or types.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-gmodules", + "range": [], + "description": "Generate debug information that contains external references to types defined in Clang modules or precompiled headers instead of emitting redundant debug type information into every object file.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fstandalone-debug", + "range": [], + "description": "Clang supports a number of optimizations to reduce the size of debug information in the binary.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-standalone-debug", + "range": [], + "description": "On Darwin -fstandalone-debug is enabled by default.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-feliminate-unused-debug-types", + "range": [], + "description": "By default, Clang does not emit type information for types that are defined but not used in a program. To retain the debug info for these unused types, the negation -fno-eliminate-unused-debug-types can be used.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fexceptions", + "range": [], + "description": "Enable generation of unwind information. This allows exceptions to be thrown through Clang compiled stack frames. This is on by default in x86-64.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ftrapv", + "range": [], + "description": "Generate code to catch integer overflow errors. Signed integer overflow is undefined in C. With this flag, extra code is generated to detect this and abort when it happens.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fvisibility", + "range": [], + "description": "This flag sets the default visibility level.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fcommon", + "range": [], + "description": "This flag specifies that variables without initializers get common linkage.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-common", + "range": [], + "description": "This flag specifies that variables without initializers get common linkage. It can be disabled with -fno-common.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ftls-model", + "range": ["global-dynamic", "local-dynamic", "initial-exec", "local-exec"], + "description": "Set the default thread-local storage (TLS) model to use for thread-local variables. Valid values are: 'global-dynamic', 'local-dynamic', 'initial-exec' and 'local-exec'.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-flto", + "range": ["full", "thin"], + "description": "Generate output files in LLVM formats, suitable for link time optimization. When used with -S this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-emit-llvm", + "range": [], + "description": "Generate output files in LLVM formats, suitable for link time optimization.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Qunused-arguments", + "range": [], + "description": "Do not emit any warnings for unused driver arguments.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Wa", + "range": [], + "description": "Pass the comma separated arguments in args to the assembler.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Wl", + "range": [], + "description": "Pass the comma separated arguments in args to the linker.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Wp", + "range": [], + "description": "Pass the comma separated arguments in args to the preprocessor.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Xanalyzer", + "range": [], + "description": "Pass arg to the static analyzer.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Xassembler", + "range": [], + "description": "Pass arg to the assembler.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Xlinker", + "range": [], + "description": "Pass arg to the linker.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Xpreprocessor", + "range": [], + "description": "Pass arg to the preprocessor.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-o", + "range": [], + "description": "Write output to file.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-print-file-name", + "range": [], + "description": "Print the full library path of file.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-print-libgcc-file-name", + "range": [], + "description": "Print the library path for the currently used compiler runtime library ('libgcc.a' or 'libclang_rt.builtins.*.a').", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-print-prog-name", + "range": [], + "description": "Print the full program path of name.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-print-search-dirs", + "range": [], + "description": "Print the paths used for finding libraries and programs.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-save-temps", + "range": [], + "description": "Save intermediate compilation results.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-save-stats", + "range": ["cwd", "obj"], + "description": "Save internal code generation (LLVM) statistics to a file in the current directory (-save-stats/'-save-stats=cwd') or the directory of the output file ('-save-state=obj').", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-integrated-as", + "range": [], + "description": "Enable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-no-integrated-as", + "range": [], + "description": "Disable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-time", + "range": [], + "description": "Time individual commands.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-ftime-report", + "range": [], + "description": "Print timing summary of each stage of compilation.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-v", + "range": [], + "description": "Show commands to run and use verbose output.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fshow-column", + "range": [], + "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fshow-source-location", + "range": [], + "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fcaret-diagnostics", + "range": [], + "description": "The line of source code that the issue occurs on, along with a caret and ranges that indicate the important locations.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fdiagnostics-fixit-info", + "range": [], + "description": "'FixIt' information, which is a concise explanation of how to fix the problem (when Clang is certain it knows).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fdiagnostics-parseable-fixits", + "range": [], + "description": "Print fix-its in machine parseable form", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fdiagnostics-print-source-range-info", + "range": [], + "description": "A machine-parsable representation of the ranges involved (off by default)", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fdiagnostics-show-option", + "range": [], + "description": "An option that indicates how to control the diagnostic (for diagnostics that support it)", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-nostdinc", + "range": [], + "description": "Do not search the standard system directories or compiler builtin directories for include files.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-nostdlibinc", + "range": [], + "description": "Do not search the standard system directories for include files, but do search compiler builtin include directories.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-nobuiltininc", + "range": [], + "description": "Do not search clang's builtin directory for include files.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-O0", + "range": [], + "description": "Means 'no optimization': this level compiles the fastest and generates the most debuggable code.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-O1", + "range": [], + "description": "Somewhere between -O0 and -O2.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-O2", + "range": [], + "description": "Moderate level of optimization which enables most optimizations.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-O3", + "range": [], + "description": "Like -O2, except that it enables optimizations that take longer to perform or that may generate larger code (in an attempt to make the program run faster).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Ofast", + "range": [], + "description": "Enables all the optimizations from -O3 along with other aggressive optimizations that may violate strict compliance with language standards.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Os", + "range": [], + "description": "Like -O2 with extra optimizations to reduce code size.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Oz", + "range": [], + "description": "Like -Os (and thus -O2), but reduces code size further.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Og", + "range": [], + "description": "Like -O1. In future versions, this option might disable different optimizations in order to improve debuggability.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-O", + "range": [], + "description": "Equivalent to -O1.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-O4", + "range": [], + "description": "And higher. Currently equivalent to -O3", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-builtin-", + "range": [], + "description": "Disable special handling and optimizations for the specific library function.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-builtin-std-", + "range": [], + "description": "Disable special handling and optimizations for the specific C++ standard library function in namespace std.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "--print-supported-cpus", + "range": [], + "description": "Print out a list of supported processors for the given target (specified through --target= or -arch ). If no target is specified, the system default target will be used.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-target", + "range": [], + "description": "Specify the architecture to build for (all platforms).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-D", + "range": [], + "description": "Adds an implicit #define into the predefines buffer which is read before the source file is preprocessed..", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-U", + "range": [], + "description": "Adds an implicit #undef into the predefines buffer which is read before the source file is preprocessed.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-include", + "range": [], + "description": "Add the specified directory to the search path for include files..", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-I", + "range": [], + "description": "Add the specified directory to the search path for include files.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-F", + "range": [], + "description": "Add the specified directory to the search path for framework include files.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fkeep-system-includes", + "range": [], + "description": "Usable only with -E. Do not copy the preprocessed content of “system” headers to the output; instead, preserve the #include directive. This can greatly reduce the volume of text produced by -E which can be helpful when trying to produce a “small” reproduceable test case.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-noFlangLibs", + "range": [], + "description": "Do not link against Flang libraries.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-mp", + "range": [], + "description": "Enable OpenMP and link with with OpenMP library libomp.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-nomp", + "range": [], + "description": "Do not link with OpenMP library libomp.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mbackslash", + "range": [], + "description": "Treat backslash in quoted strings like any other character.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mnobackslash", + "range": [], + "description": "Treat backslash in quoted strings like a C-style escape character (Default).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mbyteswapio", + "range": [], + "description": "Swap byte-order for unformatted input/output.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mfixed", + "range": [], + "description": "Assume fixed-format source.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mextend", + "range": [], + "description": "Allow source lines up to 132 characters.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mfreeform", + "range": [], + "description": "Assume free-format source.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mpreprocess", + "range": [], + "description": "Run preprocessor for Fortran files.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mrecursive", + "range": [], + "description": "Generate code to allow recursive subprograms.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mstandard", + "range": [], + "description": "Check standard conformance.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Msave", + "range": [], + "description": "Assume all variables have SAVE attribute.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-module", + "range": [], + "description": "path to module file (-I also works).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mallocatable", + "range": [], + "description": "Select Fortran 03 semantics for assignments to allocatable objects (Default).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-static-flang-libs", + "range": [], + "description": "Link using static Flang libraries.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-M[no]daz", + "range": [], + "description": "Treat denormalized numbers as zero.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-M[no]flushz", + "range": [], + "description": "Set SSE to flush-to-zero mode.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-Mcache_align", + "range": [], + "description": "Align large objects on cache-line boundaries.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-M[no]fprelaxed", + "range": [], + "description": "This option is ignored.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fdefault-integer-8", + "range": [], + "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fdefault-real-8", + "range": [], + "description": "Treat REAL as REAL*8.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-i8", + "range": [], + "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-r8", + "range": [], + "description": "Treat REAL as REAL*8.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.1.0", + "name": "-fno-fortran-main", + "range": [], + "description": "Don't link in Fortran main.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-Mflushz", + "range": [], + "description": "This option indicates whether to flush denormalized floating-point values to zero and is different from other unsecure floating-point optimizations.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-ffp-contract", + "range": [], + "description": "The value of this option can be off, on, or fast. BiSheng compiler sets the value to fast by default to enable floating-point multiply-add operations and combine multiplication and addition into one operation, improving operation performance.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-faarch64-pow-alt-precision", + "range": ["18", "21"], + "description": "This Flang option is valid only for Fortran code. It is used to change the optimization policy of the pow function so that the computing result of the pow function is the same as that on the non-ARM platform.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-faarch64-minmax-alt-precision", + "range": [], + "description": "This Flang option is valid only for Fortran code. It is used to change the optimization policy of the min or max function so that the computing result of the min or max function is the same as that on the non-ARM platform.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-disable-sincos-opt", + "range": [], + "description": "This llvm option is used to change the optimization policies of the sin or cos function so that the computing result of the sin or cos function is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aarch64-recip-alt-precision", + "range": [], + "description": "This llc option uses the soft floating-point compensation to ensure that the computing result of the recip reciprocal instruction is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aarch64-rsqrt-alt-precision", + "range": [], + "description": "This llc option uses the soft floating-point compensation to ensure that the computing result of the rsqrt reciprocal square root extraction instruction is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-alt-precision-math-functions", + "range": [], + "description": "This llvm option is used to replace names of the math functions __mth_i_cosd, __mth_i_asind, and __pd_powi_1 with cosdf, asindf, and powr8i4 to control their precision. (This option must be used together with the KML math library.) This option takes effect only for O1 or higher optimization levels. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-18-math-compatibility", + "range": [], + "description": "This llvm option is used to convert math functions such as tgammaf, cbrt, log, and log10 to functions suffixed with _18 to control their precision. (This option must be used together with the KML math library.) This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-80-math-compatibility", + "range": ["true", "false"], + "description": "This llvm option is used to convert 80-bit floating-point math functions such as cosl, sinl, and logl to functions suffixed with _k80 to control their precision. This option must be used together with the KML. This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled. By default, the conversion is enabled. If this option is set to false, the conversion is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-disable-80-math-compatibility", + "range": ["all", "func1,func2..."], + "description": "This llvm option is used to disable the conversion from a specified function to a function suffixed with _k80 in the KML after -mllvm -enable-80-math-compatibility is enabled. In this way, the math function precision can be controlled. This option must be used together with the KML. This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-ffp-compatibility", + "range": ["17", "18", "21"], + "description": "This general option is used to control all options that need to be enabled to ensure that the calculation result is consistent with that on the non-ARM platform.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-ffma-combine-fdiv", + "range": [], + "description": "This general option is used to optimize the expression a/b+c to fma(a, 1/b, c), which ensures that the calculation result is consistent with that on the non-ARM platform. This parameter is valid only when -ffp-contract is set to fast.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-ffma-reverse-associative", + "range": [], + "description": "This general option is used to optimize the expression ab+cd to fma(a, b, c*d), which ensures that the calculation result is consistent with that on the non-ARM platform. This parameter is valid only when -ffp-contract is set to fast.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-Hx,124,0xc00000", + "range": [], + "description": "This Flang option is used to keep the rounding mode of constant initialization consistent with that on the non-ARM computing platform. This option is valid only for Fortran.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-force-customized-pipeline", + "range": ["true", "false"], + "description": "This option forcibly uses the customized pass pipeline. The value true indicates that the optimization is enabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-sad-pattern-recognition", + "range": ["true", "false"], + "description": "This option optimizes the absolute value summation operation for differences (sum += abs(a[i] – b[i])) to generate a more simplified and efficient operation sequence. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-instcombine-ctz-array", + "range": ["true", "false"], + "description": "This option optimizes the calculation for De Bruijn sequence table lookup. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aarch64-loopcond-opt", + "range": ["true", "false"], + "description": "This option reduces unnecessary instructions for loop condition judgment under some conditions to optimize the code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aarch64-hadd-generation", + "range": ["true", "false"], + "description": "This option uses only one ARM NEON instruction URHADD to complete the vectorized operation (x[i] + y[i] + 1) >> 1 and optimize the code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-loop-split", + "range": ["true", "false"], + "description": "This option splits a loop meeting specific conditions into multiple loops to facilitate the reduction of unnecessary loops. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-mem-chk-simplification", + "range": ["true", "false"], + "description": "This option simplifies the logic of runtime checks generated for LLVM loop vectorization and improves loop vectorization code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aarch64-ldp-stp-noq", + "range": ["true", "false"], + "description": "This option prohibits the generation of stp/ldp q1, q2, or addr instructions. The performance of these instructions is not ideal. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-func-arg-analysis", + "range": ["true", "false"], + "description": "This option enhances LLVM range analysis to adapt LLVM function specialization optimization to more functions. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-modest-vectorization-unrolling-factors", + "range": ["true", "false"], + "description": "This option simplifies vectorization for loops with a smaller step. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-instcombine-shrink-vector-element", + "range": ["true", "false"], + "description": "This option improves the degree of parallelism (DOP) of vectorized instructions and eliminates the scalar median value generated during vectorization, improving the effect of loop vectorization. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-instcombine-reorder-sum-of-reduce-add", + "range": ["true", "false"], + "description": "This option changes the sequence of reduction operations to improve the reduction code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-replace-fortran-mem-alloc", + "range": ["true", "false"], + "description": "This option allocates stack memory, instead of heap memory, to improve performance when a memory allocation operation of known size (such as arrays) is required in Fortran code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-pg-math-call-simplification", + "range": ["true", "false"], + "description": "This option simplifies the calling of multiple Fortran math library functions to advance the calling performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-instcombine-gep-common", + "range": ["true", "false"], + "description": "This option optimizes the element address calculation for multi-dimensional arrays in complex scenarios (such as nested loops) to reduce the register pressure and improve program performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-sroa-after-unroll", + "range": ["true", "false"], + "description": "This option enables the function of adding SROA after loop unrolling to reduce memory access operations and store variables in the register. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-disable-recursive-bonus", + "range": ["true", "false"], + "description": "This option makes function calling in a recursive function easier to be inlined, improving the performance of frequently called recursive functions. The value true indicates that the inline operation is disabled. The default value is false, indicating that the inline operation is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-disable-recip-sqrt-opt", + "range": ["true", "false"], + "description": "This option optimizes the formats of A = (C / sqrt(Y)) and B = A * A in FastMath scenarios to reduce the number of instructions. The value true indicates that the optimization is disabled. The default value is false, indicating that the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-disable-loop-aware-reassociation", + "range": ["true", "false"], + "description": "This option adds loop awareness to Reassociate Pass to limit some operations within the loop, preventing performance deterioration caused by the increase of instructions in the loop. The value true indicates that the optimization is disabled. The default value is false, indicating that the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-gzipcrc32", + "range": ["true", "false"], + "description": "This option identifies the CRC32 calculation logic in the code and uses the built-in instructions of the processor to accelerate the calculation. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-aes", + "range": ["true", "false"], + "description": "This option identifies the AES calculation logic in the code and uses the built-in instructions of the processor to accelerate the calculation. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-mayalias-loadpromotion", + "range": ["true", "false"], + "description": "At LTO and O3, unnecessary load instructions in the loop branch are identified and deleted. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-merge-reversed-icmps", + "range": ["true", "false"], + "description": "At O3, reversed consecutive integer comparisons are merged (the target must be in little-endian order). If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-Hx,70,0x20000000", + "range": [], + "description": "In O1, O2, and O3, BiSheng compiler enables minloc and maxloc inlining in the flang1 phase. After inlining, the functions can be called simply using for loops, which facilitates further optimization in LLVM. This option can disable inlining, which is the same as O0.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-update-iv-scev", + "range": [], + "description": "This option updates the SCEV analysis result in induction variable users pass to display more optimization opportunities. This option is enabled by default, which may increase the compilation duration. If you have high requirements on the compilation duration, you can set -mllvm -update-iv-scev to false. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-gep-common", + "range": [], + "description": "This option generates a common parent for GEP clusters that originate from the same instruction by removing add instructions (that are used as indexes). \\r\\n-mllvm -gep-common= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -gep-cluster-min= indicates the GEP cluster threshold. The default value is 3. \\r\\n-mllvm -gep-loop-mindepth= indicates the loop threshold. The default value is 3.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-array-restructuring", + "range": [], + "description": "This option optimizes the memory access mode of one or more arrays in a program and rearranges arrays to reduce the running time. \\r\\n-mllvm -enable-array-restructuring= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -skip-array-restructuring-codegen= indicates whether to disable the code generation part of the optimization pass. If the value is set to true, the code generation part of the optimization pass is disabled. The default value is false.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-struct-peel", + "range": [], + "description": "This option optimizes structure peeling and increases the local cache when the structure fields in a structure array are accessed, reducing the running time. \\r\\n-mllvm -enable-struct-peel= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -struct-peel-skip-transform= indicates whether to disable the code generation part of the optimization pass. If the value is set to true, the code generation part of the optimization pass is disabled. The default value is false. \\r\\n-mllvm -struct-peel-this=... indicates forcibly peeling a structure defined by the user (subject to legality).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-fopenmp-reduction-duplicate", + "range": [], + "description": "This option enhances the vectorization capability in the OpenMP reduction scenario. This takes effect at the AArch64 backend and C and C++ frontends only when -fopenmp is enabled. This option is enabled by default. You can run -fno-openmp-reduction-duplicate to disable it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-fopenmp-firstprivatize-locals", + "range": [], + "description": "This option enhances the vectorization capability in the OpenMP firstprivatize scenario. This takes effect at the AArch64 backend and C and C++ frontends only when -fopenmp is enabled. This option is enabled by default. You can run -fno-openmp-firstprivatize-locals to disable it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-sort-ivusers-before-lsr", + "range": [], + "description": "Loop strength reduction (LSR) optimization is performed only after induction variable users are sorted. This prevents binary assembly inconsistency during multiple compilations.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-Mx,218,0x1", + "range": [], + "description": "BiSheng compiler enables inlining string comparison in the flang2 phase. After inlining, a function call becomes a simple for-loop character comparison, which can be further optimized in the LLVM. The inlining function is disabled by default. You can use this option to enable the inlining function.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-foverflow-shift-alt-behavior", + "range": [], + "description": "For undefined shift behavior that exceeds the bit width of the integer data type, for example, (int) a << 40, BiSheng compiler optimizes the expression to an integer constant in advance to prevent the expression from being identified and optimized as different values in different optimizations. This option is disabled by default.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-warn-large-symbols", + "range": [], + "description": "In C, C++, and Fortran programs, if ultra-large symbols exist, the relocation type of symbol addressing cannot support such a large range offset. This option is used to identify large symbols that may exist in the source code (the threshold of large symbols is controlled by the option parameter num, in MB). In addition, the corresponding alarm is provided. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-instcombine-simplify-mul64", + "range": ["true", "false"], + "description": "This option simplifies the algorithm of multiplying two 64-bit operands to output a 128-bit data into a more efficient instruction. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-replace-sqrt-compare-by-square", + "range": ["true", "false"], + "description": "This option converts the comparison condition by replacing the square root calculation in the comparison condition with the square calculation of its result. This optimization is enabled only when -ffast-math is enabled. The value true indicates that the optimization is enabled. By default, the optimization is disabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-combine-sqrt-exp", + "range": ["true", "false"], + "description": "This option optimizes sqrt(exp(x)) to exp(x*0.5) to eliminate sqrt calculations with high execution costs. This optimization is enabled only when -ffast-math is enabled. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-loop-load-widen-patterns", + "range": ["0", "1", "2"], + "description": "This option optimizes scenarios where some data can be accessed using a wider data type. Currently, three scenarios are supported, and the IDs are 0, 1, and 2, respectively. Use commas (,) to separate them. By default, the optimization is disabled. This option is disabled by default. Currently, the C language and the AArch64 backend are supported. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-aggressive-inline", + "range": ["true", "false"], + "description": "This option does not consider the __attribute__((noinline)) restriction in the source code and forcibly regards the function as a common function to determine whether to perform inline optimization .The value true indicates that the optimization is enabled. By default, the optimization is disabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-shift-rounding", + "range": [], + "description": "This option matches a rounding scenario and selects an appropriate instruction to reduce the running time. \\r\\n-mllvm -aarch64-optimize-rounding = controls the optimization. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -aarch64-optimize-rounding-saturation= determines whether to optimize the SQRSHRUN/UQRSHRN scenario. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\nThe -mllvm -aarch64-extract-vector-element-trunc-combine= provides better instruction selection in some scenarios. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -aarch64-rounding-search-max-depth = sets the search depth of a rounding scenario. The default value is 4.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aggressive-instcombine-simplify-sqr64", + "range": ["true", "false"], + "description": "This option optimizes the 64-bit SQR operation to use simplified instructions to improve performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-value-spec", + "range": ["true", "false"], + "description": "For the res = x ? y : z ternary operator expression, when y or z contains zero and is selected as the result, calculations such as multiplication that references the res variable can be optimized to improve performance. This optimization identifies a select instruction formed by the ternary operator in an IR and eliminates some redundant instructions that use the select instruction result. Note that this optimization changes the select instruction only when the ternary operator forms the select instruction in the middle-end of the compiler. \\r\\n -mllvm -vspec-min-select-users = controls the number of redundant instructions that use the select instruction result. When the actual number is greater than the specified value, the optimization is enabled. The default value is 5. \\r\\n -mllvm -vspec-search-users-depth = controls the depth of a basic block that contains redundant instructions and is searched downwards from the basic block where the select instruction result is located. The default value is 5.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-relaxed-ordering-level", + "range": ["RO_DISABLE", "RO_1", "RO_2", "RO_3"], + "description": "RO_DISABLE indicates that weak memory ordering protection is disabled, and RO_1, RO_2, or RO_3 indicates that weak memory ordering protection is enabled. RO_1 uses the basic repair policy to ensure normal application execution and has the greatest performance loss. RO_2 uses the most secure repair policy and has great performance loss. RO_3 applies component optimization rules to reduce performance loss. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-highlevel-branch-prediction", + "range": ["true", "false"], + "description": "It predicts the execution direction of a branch based on the information in the code. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-branch-metadata", + "range": [], + "description": "On the basis of code vectorization, the control flow in the scalar loop is introduced again. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-boscc", + "range": ["true", "false"], + "description": "Usable only with -enable-branch-metadata. On the basis of code vectorization, the control flow in the scalar loop is introduced again. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-ahead-prefetch", + "range": ["true", "false"], + "description": "It prefetches data on the entire calculation array in advance for a simple loop calculation with OpenMP enabled. This takes effect only at the AArch64 backend. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-antisca-spec-mitigations", + "range": ["true", "false"], + "description": "It adds protection instructions to all instructions that may access the memory to prevent Spectre variant 1 attacks. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-enable-spectre-detect", + "range": ["true", "false"], + "description": "This option indicates that 15 Spectre variant 1 attack scenarios mentioned in papers are detected and the specific file names and line numbers are provided through warning messages. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-aarch64-slh-vuln-loads-only", + "range": ["true", "false"], + "description": "Usable only with -enable-spectre-detect. This option protection instructions are added to these detected scenarios. To use this option, add -mllvm before it.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-fopenmp-htl", + "range": [], + "description": "BiSheng compiler supports the use of lightweight threads in the Hyper Thread Library (HTL) to replace system threads in OpenMP scenarios. You do not need to modify the code. The compiler runtime supports this function. The HTL is not directly integrated in BiSheng. For details about how to download the HTL and more information, visit the Kunpeng community. \\r\\n To enable the HTL, perform the following steps: \\r\\n Compilation: Use -L to specify the path of the HTL libhtl.so. \\r\\n Running: Use LD_LIBRARY_PATH to specify the path of libhtl.so. \\r\\n Control option: -fopenmp-htl (If both -fopenmp-htl and -fopenmp are used, -fopenmp-htl has a higher priority.). \\r\\n Environment variable: KMP_HTL_NUM_ESS sets the number of execution flows running on OS-level threads (similar to specifying the number of Pthreads).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-convert", + "range": ["big_endian", "little_endian", "swap", "native"], + "description": "This option makes Flang compatible with the big endian and small endian of Intel Fortran (ifort).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-E", + "range": [], + "description": "Run the preprocessor stage.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-fsyntax-only", + "range": [], + "description": "Run the preprocessor, parser and type checking stages.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-S", + "range": [], + "description": "Run the previous stages as well as LLVM generation and optimization stages and target-specific code generation, producing an assembly file.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-c", + "range": [], + "description": "Run all of the above, plus the assembler, generating a target '.o' object file.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-x", + "range": [], + "description": "Treat subsequent input files as having type language.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", + "name": "-std", + "range": [ + "c89", + "c90", + "iso9899:1990", + "iso9899:199409", + "gnu89", + "gnu90", + "iso9899:1999", + "gnu99", + "c11", + "iso9899:2011", + "gnu11", + "c17", + "iso9899:2017", + "gnu17c++98", + "c++03", + "gnu++98", + "gnu++03", + "c++11", + "gnu++11", + "c++14", + "gnu++14", + "c++17", + "gnu++17", + "c++20", + "gnu++20", + "c++2b", + "gnu++2b", + "cl1.0", + "cl1.1", + "cl1.2", + "cl2.0", + "cuda" + ], + "description": "Specify the language standard to compile for. The default C language standard is gnu17, except on PS4, where it is gnu99. The default C++ language standard is gnu++17. The default OpenCL language standard is cl1.0.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "3.2.0", "name": "-stdlib", "range": ["libstdc++", "libc++"], "description": "Specify the C++ standard library to use; supported options are libstdc++ and libc++. If not specified, platform default will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-rtlib", "range": ["libgcc", "compiler-rt"], "description": "Specify the compiler runtime library to use; supported options are libgcc and compiler-rt. If not specified, platform default will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ansi", "range": [], "description": "Same as -std=c89.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ObjC", "range": [], "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ObjC++", "range": [], "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-trigraphs", "range": [], "description": "Enable trigraphs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ffreestanding", "range": [], "description": "Indicate that the file should be compiled for a freestanding, not a hosted, environment. Note that it is assumed that a freestanding environment will additionally provide memcpy, memmove, memset and memcmp implementations, as these are needed for efficient codegen for many programs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-builtin", "range": [], "description": "Disable special handling and optimizations of builtin functions like strlen() and malloc().", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fmath-errno", "range": [], "description": "Indicate that math functions should be treated as updating errno.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fpascal-strings", "range": [], "description": "Enable support for Pascal-style strings with '\\pfoo'.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fms-extensions", "range": [], "description": "Enable support for Microsoft extensions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fmsc-version", "range": [], "description": "Set _MSC_VER. Defaults to 1300 on Windows. Not set otherwise.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fborland-extensions", "range": [], "description": "Enable support for Borland extensions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fwritable-strings", "range": [], "description": "Make all string literals default to writable. This disables uniquing of strings and other optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-flax-vector-conversions", "range": ["none", "integer", "all"], "description": "Allow loose type checking rules for implicit vector conversions. Defaults to integer if unspecified.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-lax-vector-conversions", "range": [], "description": "Allow loose type checking rules for implicit vector conversions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fblocks", "range": [], "description": "Enable the 'Blocks' language feature.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fobjc-abi-version", "range": ["1", "2", "3"], "description": "Select the Objective-C ABI version to use. Available versions are 1 (legacy 'fragile' ABI), 2 (non-fragile ABI 1), and 3 (non-fragile ABI 2).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fobjc-nonfragile-abi-version", "range": [], "description": "Select the Objective-C non-fragile ABI version to use by default. This will only be used as the Objective-C ABI when the non-fragile ABI is enabled (either via -fobjc-nonfragile-abi, or because it is the platform default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fobjc-nonfragile-abi", "range": [], "description": "Enable use of the Objective-C non-fragile ABI.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-objc-nonfragile-abi", "range": [], "description": "Enable use of the Objective-C non-fragile ABI. On platforms for which this is the default ABI, it can be disabled with -fno-objc-nonfragile-abi.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-arch", "range": [], "description": "Specify the architecture to build for.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-mmacosx-version-min", "range": [], "description": "When building for macOS, specify the minimum version supported by your application.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-miphoneos-version-min", "range": [], "description": "When building for iPhone OS, specify the minimum version supported by your application.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-mcpu", "range": [], "description": "Acts as an alias for --print-supported-cpus.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-mtune", "range": [], "description": "Acts as an alias for --print-supported-cpus.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-march", "range": [], "description": "Specify that Clang should generate code for a specific processor family member and later. For example, if you specify -march=i486, the compiler is allowed to generate instructions that are valid on i486 and later processors, but which may not exist on earlier ones.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-g", "range": [], "description": "Generate debug information.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-gline-tables-only", "range": [], "description": "Generate only line table debug information. This allows for symbolicated backtraces with inlining information, but does not include any information about variables, their locations or types.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-gmodules", "range": [], "description": "Generate debug information that contains external references to types defined in Clang modules or precompiled headers instead of emitting redundant debug type information into every object file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fstandalone-debug", "range": [], "description": "Clang supports a number of optimizations to reduce the size of debug information in the binary.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-standalone-debug", "range": [], "description": "On Darwin -fstandalone-debug is enabled by default.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-feliminate-unused-debug-types", "range": [], "description": "By default, Clang does not emit type information for types that are defined but not used in a program. To retain the debug info for these unused types, the negation -fno-eliminate-unused-debug-types can be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fexceptions", "range": [], "description": "Enable generation of unwind information. This allows exceptions to be thrown through Clang compiled stack frames. This is on by default in x86-64.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ftrapv", "range": [], "description": "Generate code to catch integer overflow errors. Signed integer overflow is undefined in C. With this flag, extra code is generated to detect this and abort when it happens.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fvisibility", "range": [], "description": "This flag sets the default visibility level.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fcommon", "range": [], "description": "This flag specifies that variables without initializers get common linkage.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-common", "range": [], "description": "This flag specifies that variables without initializers get common linkage. It can be disabled with -fno-common.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ftls-model", "range": ["global-dynamic", "local-dynamic", "initial-exec", "local-exec"], "description": "Set the default thread-local storage (TLS) model to use for thread-local variables. Valid values are: 'global-dynamic', 'local-dynamic', 'initial-exec' and 'local-exec'.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-flto", "range": ["full", "thin"], "description": "Generate output files in LLVM formats, suitable for link time optimization. When used with -S this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-emit-llvm", "range": [], "description": "Generate output files in LLVM formats, suitable for link time optimization.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Qunused-arguments", "range": [], "description": "Do not emit any warnings for unused driver arguments.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Wa", "range": [], "description": "Pass the comma separated arguments in args to the assembler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Wl", "range": [], "description": "Pass the comma separated arguments in args to the linker.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Wp", "range": [], "description": "Pass the comma separated arguments in args to the preprocessor.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Xanalyzer", "range": [], "description": "Pass arg to the static analyzer.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Xassembler", "range": [], "description": "Pass arg to the assembler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Xlinker", "range": [], "description": "Pass arg to the linker.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Xpreprocessor", "range": [], "description": "Pass arg to the preprocessor.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-o", "range": [], "description": "Write output to file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-print-file-name", "range": [], "description": "Print the full library path of file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-print-libgcc-file-name", "range": [], "description": "Print the library path for the currently used compiler runtime library ('libgcc.a' or 'libclang_rt.builtins.*.a').", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-print-prog-name", "range": [], "description": "Print the full program path of name.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-print-search-dirs", "range": [], "description": "Print the paths used for finding libraries and programs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-save-temps", "range": [], "description": "Save intermediate compilation results.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-save-stats", "range": ["cwd", "obj"], "description": "Save internal code generation (LLVM) statistics to a file in the current directory (-save-stats/'-save-stats=cwd') or the directory of the output file ('-save-state=obj').", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-integrated-as", "range": [], "description": "Enable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-no-integrated-as", "range": [], "description": "Disable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-time", "range": [], "description": "Time individual commands.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-ftime-report", "range": [], "description": "Print timing summary of each stage of compilation.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-v", "range": [], "description": "Show commands to run and use verbose output.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fshow-column", "range": [], "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fshow-source-location", "range": [], "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fcaret-diagnostics", "range": [], "description": "The line of source code that the issue occurs on, along with a caret and ranges that indicate the important locations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fdiagnostics-fixit-info", "range": [], "description": "'FixIt' information, which is a concise explanation of how to fix the problem (when Clang is certain it knows).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fdiagnostics-parseable-fixits", "range": [], "description": "Print fix-its in machine parseable form", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fdiagnostics-print-source-range-info", "range": [], "description": "A machine-parsable representation of the ranges involved (off by default)", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fdiagnostics-show-option", "range": [], "description": "An option that indicates how to control the diagnostic (for diagnostics that support it)", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-nostdinc", "range": [], "description": "Do not search the standard system directories or compiler builtin directories for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-nostdlibinc", "range": [], "description": "Do not search the standard system directories for include files, but do search compiler builtin include directories.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-nobuiltininc", "range": [], "description": "Do not search clang's builtin directory for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-O0", "range": [], "description": "Means 'no optimization': this level compiles the fastest and generates the most debuggable code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-O1", "range": [], "description": "Somewhere between -O0 and -O2.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-O2", "range": [], "description": "Moderate level of optimization which enables most optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-O3", "range": [], "description": "Like -O2, except that it enables optimizations that take longer to perform or that may generate larger code (in an attempt to make the program run faster).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Ofast", "range": [], "description": "Enables all the optimizations from -O3 along with other aggressive optimizations that may violate strict compliance with language standards.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Os", "range": [], "description": "Like -O2 with extra optimizations to reduce code size.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Oz", "range": [], "description": "Like -Os (and thus -O2), but reduces code size further.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Og", "range": [], "description": "Like -O1. In future versions, this option might disable different optimizations in order to improve debuggability.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-O", "range": [], "description": "Equivalent to -O1.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-O4", "range": [], "description": "And higher. Currently equivalent to -O3", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-builtin-", "range": [], "description": "Disable special handling and optimizations for the specific library function.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-builtin-std-", "range": [], "description": "Disable special handling and optimizations for the specific C++ standard library function in namespace std.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "--print-supported-cpus", "range": [], "description": "Print out a list of supported processors for the given target (specified through --target= or -arch ). If no target is specified, the system default target will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-target", "range": [], "description": "Specify the architecture to build for (all platforms).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-D", "range": [], "description": "Adds an implicit #define into the predefines buffer which is read before the source file is preprocessed..", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-U", "range": [], "description": "Adds an implicit #undef into the predefines buffer which is read before the source file is preprocessed.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-include", "range": [], "description": "Add the specified directory to the search path for include files..", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-I", "range": [], "description": "Add the specified directory to the search path for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-F", "range": [], "description": "Add the specified directory to the search path for framework include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fkeep-system-includes", "range": [], "description": "Usable only with -E. Do not copy the preprocessed content of “system” headers to the output; instead, preserve the #include directive. This can greatly reduce the volume of text produced by -E which can be helpful when trying to produce a “small” reproduceable test case.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-noFlangLibs", "range": [], "description": "Do not link against Flang libraries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-mp", "range": [], "description": "Enable OpenMP and link with with OpenMP library libomp.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-nomp", "range": [], "description": "Do not link with OpenMP library libomp.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mbackslash", "range": [], "description": "Treat backslash in quoted strings like any other character.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mnobackslash", "range": [], "description": "Treat backslash in quoted strings like a C-style escape character (Default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mbyteswapio", "range": [], "description": "Swap byte-order for unformatted input/output.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mfixed", "range": [], "description": "Assume fixed-format source.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mextend", "range": [], "description": "Allow source lines up to 132 characters.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mfreeform", "range": [], "description": "Assume free-format source.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mpreprocess", "range": [], "description": "Run preprocessor for Fortran files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mrecursive", "range": [], "description": "Generate code to allow recursive subprograms.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mstandard", "range": [], "description": "Check standard conformance.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Msave", "range": [], "description": "Assume all variables have SAVE attribute.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-module", "range": [], "description": "path to module file (-I also works).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mallocatable", "range": [], "description": "Select Fortran 03 semantics for assignments to allocatable objects (Default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-static-flang-libs", "range": [], "description": "Link using static Flang libraries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-M[no]daz", "range": [], "description": "Treat denormalized numbers as zero.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-M[no]flushz", "range": [], "description": "Set SSE to flush-to-zero mode.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-Mcache_align", "range": [], "description": "Align large objects on cache-line boundaries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-M[no]fprelaxed", "range": [], "description": "This option is ignored.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fdefault-integer-8", "range": [], "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fdefault-real-8", "range": [], "description": "Treat REAL as REAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-i8", "range": [], "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-r8", "range": [], "description": "Treat REAL as REAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.1.0", + "gcc_version": "3.2.0", "name": "-fno-fortran-main", "range": [], "description": "Don't link in Fortran main.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mflushz", "range": [], "description": "This option indicates whether to flush denormalized floating-point values to zero and is different from other unsecure floating-point optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ffp-contract", - "range": [], + "range": [ + "off", + "on", + "fast" + ], "description": "The value of this option can be off, on, or fast. BiSheng compiler sets the value to fast by default to enable floating-point multiply-add operations and combine multiplication and addition into one operation, improving operation performance.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-faarch64-pow-alt-precision", "range": ["18", "21"], "description": "This Flang option is valid only for Fortran code. It is used to change the optimization policy of the pow function so that the computing result of the pow function is the same as that on the non-ARM platform.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-faarch64-minmax-alt-precision", "range": [], "description": "This Flang option is valid only for Fortran code. It is used to change the optimization policy of the min or max function so that the computing result of the min or max function is the same as that on the non-ARM platform.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-disable-sincos-opt", "range": [], "description": "This llvm option is used to change the optimization policies of the sin or cos function so that the computing result of the sin or cos function is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aarch64-recip-alt-precision", "range": [], "description": "This llc option uses the soft floating-point compensation to ensure that the computing result of the recip reciprocal instruction is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aarch64-rsqrt-alt-precision", "range": [], "description": "This llc option uses the soft floating-point compensation to ensure that the computing result of the rsqrt reciprocal square root extraction instruction is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-alt-precision-math-functions", "range": [], "description": "This llvm option is used to replace names of the math functions __mth_i_cosd, __mth_i_asind, and __pd_powi_1 with cosdf, asindf, and powr8i4 to control their precision. (This option must be used together with the KML math library.) This option takes effect only for O1 or higher optimization levels. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-18-math-compatibility", "range": [], "description": "This llvm option is used to convert math functions such as tgammaf, cbrt, log, and log10 to functions suffixed with _18 to control their precision. (This option must be used together with the KML math library.) This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-80-math-compatibility", "range": ["true", "false"], "description": "This llvm option is used to convert 80-bit floating-point math functions such as cosl, sinl, and logl to functions suffixed with _k80 to control their precision. This option must be used together with the KML. This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled. By default, the conversion is enabled. If this option is set to false, the conversion is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-disable-80-math-compatibility", "range": ["all", "func1,func2..."], "description": "This llvm option is used to disable the conversion from a specified function to a function suffixed with _k80 in the KML after -mllvm -enable-80-math-compatibility is enabled. In this way, the math function precision can be controlled. This option must be used together with the KML. This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ffp-compatibility", - "range": ["17", "18", "21"], + "range": ["17", "18", "21","gnu_4.8.4"], "description": "This general option is used to control all options that need to be enabled to ensure that the calculation result is consistent with that on the non-ARM platform.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ffma-combine-fdiv", "range": [], "description": "This general option is used to optimize the expression a/b+c to fma(a, 1/b, c), which ensures that the calculation result is consistent with that on the non-ARM platform. This parameter is valid only when -ffp-contract is set to fast.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ffma-reverse-associative", "range": [], "description": "This general option is used to optimize the expression ab+cd to fma(a, b, c*d), which ensures that the calculation result is consistent with that on the non-ARM platform. This parameter is valid only when -ffp-contract is set to fast.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", + "name": "-fprecision-align-when-round", + "range": [], + "description": "This Flang option is used to keep the rounding mode of constant initialization consistent with that on the non-Arm computing platform. This option is valid only for Fortran.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", "name": "-Hx,124,0xc00000", "range": [], "description": "This Flang option is used to keep the rounding mode of constant initialization consistent with that on the non-ARM computing platform. This option is valid only for Fortran.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-force-customized-pipeline", "range": ["true", "false"], "description": "This option forcibly uses the customized pass pipeline. The value true indicates that the optimization is enabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-sad-pattern-recognition", "range": ["true", "false"], "description": "This option optimizes the absolute value summation operation for differences (sum += abs(a[i] – b[i])) to generate a more simplified and efficient operation sequence. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-instcombine-ctz-array", "range": ["true", "false"], "description": "This option optimizes the calculation for De Bruijn sequence table lookup. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aarch64-loopcond-opt", "range": ["true", "false"], "description": "This option reduces unnecessary instructions for loop condition judgment under some conditions to optimize the code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aarch64-hadd-generation", "range": ["true", "false"], "description": "This option uses only one ARM NEON instruction URHADD to complete the vectorized operation (x[i] + y[i] + 1) >> 1 and optimize the code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-loop-split", "range": ["true", "false"], "description": "This option splits a loop meeting specific conditions into multiple loops to facilitate the reduction of unnecessary loops. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-mem-chk-simplification", "range": ["true", "false"], "description": "This option simplifies the logic of runtime checks generated for LLVM loop vectorization and improves loop vectorization code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aarch64-ldp-stp-noq", "range": ["true", "false"], "description": "This option prohibits the generation of stp/ldp q1, q2, or addr instructions. The performance of these instructions is not ideal. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-func-arg-analysis", "range": ["true", "false"], "description": "This option enhances LLVM range analysis to adapt LLVM function specialization optimization to more functions. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-modest-vectorization-unrolling-factors", "range": ["true", "false"], "description": "This option simplifies vectorization for loops with a smaller step. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-instcombine-shrink-vector-element", "range": ["true", "false"], "description": "This option improves the degree of parallelism (DOP) of vectorized instructions and eliminates the scalar median value generated during vectorization, improving the effect of loop vectorization. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-instcombine-reorder-sum-of-reduce-add", "range": ["true", "false"], "description": "This option changes the sequence of reduction operations to improve the reduction code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-replace-fortran-mem-alloc", "range": ["true", "false"], "description": "This option allocates stack memory, instead of heap memory, to improve performance when a memory allocation operation of known size (such as arrays) is required in Fortran code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", + "name": "-convert", + "range": ["big_endian", "little_endian","swap","native"], + "description": "This option makes Flang compatible with the big endian and small endian of Intel Fortran (ifort).", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-fp-detect-exceptions", + "range": [], + "description": "It enables the NaN detection for a Fortran application. For details, see BiSheng Compiler Optimization and Programming Guide.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-fGNU-compatibility", + "range": [], + "description": "It enables the compatibility between BiSheng compiler and the GNU compiler, including but not limited to degrading the severity of alarms for BiSheng compiler failing to identify GNU functional options to warning.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-fIntel-compatibility", + "range": [], + "description": "It enables the compatibility between BiSheng compiler and the Intel compiler, including but not limited to degrading the severity of alarms for BiSheng compiler failing to identify Intel functional options to warning.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-fGNU-warning-compatibility", + "range": [], + "description": "After this option is enabled, -Werror does not upgrade a warning to an error in scenarios where BiSheng compiler performs stricter syntax check than the GNU compiler.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-fGNU-error-compatibility", + "range": [], + "description": "After this option is enabled, the error reported by BiSheng compiler is degraded to a warning in scenarios where BiSheng compiler performs stricter syntax check than the GNU compiler.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-fallow-argument-kind-mismatch", + "range": [], + "description": "Input parameter type mismatches are allowed in Fortran code.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-ffixed-line-length-x", + "range": [], + "description": "In the Fortran language standards, the maximum line width of Fortran code in the fixed format is extended to a value specified by x (it can be any number or none). When x is set to 0 or none, any line width is supported.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", + "name": "-ffree-line-length-x", + "range": [], + "description": "In the Fortran language standards, the maximum line width of Fortran code in the free format is extended to any line width. The value of x can be 0 or none.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.0.0", "name": "-enable-pg-math-call-simplification", "range": ["true", "false"], "description": "This option simplifies the calling of multiple Fortran math library functions to advance the calling performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-instcombine-gep-common", "range": ["true", "false"], "description": "This option optimizes the element address calculation for multi-dimensional arrays in complex scenarios (such as nested loops) to reduce the register pressure and improve program performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-sroa-after-unroll", "range": ["true", "false"], "description": "This option enables the function of adding SROA after loop unrolling to reduce memory access operations and store variables in the register. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-disable-recursive-bonus", "range": ["true", "false"], "description": "This option makes function calling in a recursive function easier to be inlined, improving the performance of frequently called recursive functions. The value true indicates that the inline operation is disabled. The default value is false, indicating that the inline operation is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-disable-recip-sqrt-opt", "range": ["true", "false"], "description": "This option optimizes the formats of A = (C / sqrt(Y)) and B = A * A in FastMath scenarios to reduce the number of instructions. The value true indicates that the optimization is disabled. The default value is false, indicating that the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-disable-loop-aware-reassociation", "range": ["true", "false"], "description": "This option adds loop awareness to Reassociate Pass to limit some operations within the loop, preventing performance deterioration caused by the increase of instructions in the loop. The value true indicates that the optimization is disabled. The default value is false, indicating that the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-gzipcrc32", "range": ["true", "false"], "description": "This option identifies the CRC32 calculation logic in the code and uses the built-in instructions of the processor to accelerate the calculation. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-aes", "range": ["true", "false"], "description": "This option identifies the AES calculation logic in the code and uses the built-in instructions of the processor to accelerate the calculation. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-mayalias-loadpromotion", "range": ["true", "false"], "description": "At LTO and O3, unnecessary load instructions in the loop branch are identified and deleted. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-merge-reversed-icmps", "range": ["true", "false"], "description": "At O3, reversed consecutive integer comparisons are merged (the target must be in little-endian order). If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Hx,70,0x20000000", "range": [], "description": "In O1, O2, and O3, BiSheng compiler enables minloc and maxloc inlining in the flang1 phase. After inlining, the functions can be called simply using for loops, which facilitates further optimization in LLVM. This option can disable inlining, which is the same as O0.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-update-iv-scev", "range": [], "description": "This option updates the SCEV analysis result in induction variable users pass to display more optimization opportunities. This option is enabled by default, which may increase the compilation duration. If you have high requirements on the compilation duration, you can set -mllvm -update-iv-scev to false. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-gep-common", "range": [], "description": "This option generates a common parent for GEP clusters that originate from the same instruction by removing add instructions (that are used as indexes). \\r\\n-mllvm -gep-common= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -gep-cluster-min= indicates the GEP cluster threshold. The default value is 3. \\r\\n-mllvm -gep-loop-mindepth= indicates the loop threshold. The default value is 3.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-array-restructuring", "range": [], "description": "This option optimizes the memory access mode of one or more arrays in a program and rearranges arrays to reduce the running time. \\r\\n-mllvm -enable-array-restructuring= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -skip-array-restructuring-codegen= indicates whether to disable the code generation part of the optimization pass. If the value is set to true, the code generation part of the optimization pass is disabled. The default value is false.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-struct-peel", "range": [], "description": "This option optimizes structure peeling and increases the local cache when the structure fields in a structure array are accessed, reducing the running time. \\r\\n-mllvm -enable-struct-peel= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -struct-peel-skip-transform= indicates whether to disable the code generation part of the optimization pass. If the value is set to true, the code generation part of the optimization pass is disabled. The default value is false. \\r\\n-mllvm -struct-peel-this=... indicates forcibly peeling a structure defined by the user (subject to legality).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fopenmp-reduction-duplicate", "range": [], "description": "This option enhances the vectorization capability in the OpenMP reduction scenario. This takes effect at the AArch64 backend and C and C++ frontends only when -fopenmp is enabled. This option is enabled by default. You can run -fno-openmp-reduction-duplicate to disable it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fopenmp-firstprivatize-locals", "range": [], "description": "This option enhances the vectorization capability in the OpenMP firstprivatize scenario. This takes effect at the AArch64 backend and C and C++ frontends only when -fopenmp is enabled. This option is enabled by default. You can run -fno-openmp-firstprivatize-locals to disable it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-sort-ivusers-before-lsr", "range": [], "description": "Loop strength reduction (LSR) optimization is performed only after induction variable users are sorted. This prevents binary assembly inconsistency during multiple compilations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mx,218,0x1", "range": [], "description": "BiSheng compiler enables inlining string comparison in the flang2 phase. After inlining, a function call becomes a simple for-loop character comparison, which can be further optimized in the LLVM. The inlining function is disabled by default. You can use this option to enable the inlining function.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-foverflow-shift-alt-behavior", "range": [], "description": "For undefined shift behavior that exceeds the bit width of the integer data type, for example, (int) a << 40, BiSheng compiler optimizes the expression to an integer constant in advance to prevent the expression from being identified and optimized as different values in different optimizations. This option is disabled by default.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-warn-large-symbols", "range": [], "description": "In C, C++, and Fortran programs, if ultra-large symbols exist, the relocation type of symbol addressing cannot support such a large range offset. This option is used to identify large symbols that may exist in the source code (the threshold of large symbols is controlled by the option parameter num, in MB). In addition, the corresponding alarm is provided. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-instcombine-simplify-mul64", "range": ["true", "false"], "description": "This option simplifies the algorithm of multiplying two 64-bit operands to output a 128-bit data into a more efficient instruction. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-replace-sqrt-compare-by-square", "range": ["true", "false"], "description": "This option converts the comparison condition by replacing the square root calculation in the comparison condition with the square calculation of its result. This optimization is enabled only when -ffast-math is enabled. The value true indicates that the optimization is enabled. By default, the optimization is disabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-combine-sqrt-exp", "range": ["true", "false"], "description": "This option optimizes sqrt(exp(x)) to exp(x*0.5) to eliminate sqrt calculations with high execution costs. This optimization is enabled only when -ffast-math is enabled. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-loop-load-widen-patterns", "range": ["0", "1", "2"], "description": "This option optimizes scenarios where some data can be accessed using a wider data type. Currently, three scenarios are supported, and the IDs are 0, 1, and 2, respectively. Use commas (,) to separate them. By default, the optimization is disabled. This option is disabled by default. Currently, the C language and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-aggressive-inline", "range": ["true", "false"], "description": "This option does not consider the __attribute__((noinline)) restriction in the source code and forcibly regards the function as a common function to determine whether to perform inline optimization .The value true indicates that the optimization is enabled. By default, the optimization is disabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-shift-rounding", "range": [], "description": "This option matches a rounding scenario and selects an appropriate instruction to reduce the running time. \\r\\n-mllvm -aarch64-optimize-rounding = controls the optimization. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -aarch64-optimize-rounding-saturation= determines whether to optimize the SQRSHRUN/UQRSHRN scenario. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\nThe -mllvm -aarch64-extract-vector-element-trunc-combine= provides better instruction selection in some scenarios. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -aarch64-rounding-search-max-depth = sets the search depth of a rounding scenario. The default value is 4.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aggressive-instcombine-simplify-sqr64", "range": ["true", "false"], "description": "This option optimizes the 64-bit SQR operation to use simplified instructions to improve performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-value-spec", "range": ["true", "false"], "description": "For the res = x ? y : z ternary operator expression, when y or z contains zero and is selected as the result, calculations such as multiplication that references the res variable can be optimized to improve performance. This optimization identifies a select instruction formed by the ternary operator in an IR and eliminates some redundant instructions that use the select instruction result. Note that this optimization changes the select instruction only when the ternary operator forms the select instruction in the middle-end of the compiler. \\r\\n -mllvm -vspec-min-select-users = controls the number of redundant instructions that use the select instruction result. When the actual number is greater than the specified value, the optimization is enabled. The default value is 5. \\r\\n -mllvm -vspec-search-users-depth = controls the depth of a basic block that contains redundant instructions and is searched downwards from the basic block where the select instruction result is located. The default value is 5.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-relaxed-ordering-level", "range": ["RO_DISABLE", "RO_1", "RO_2", "RO_3"], "description": "RO_DISABLE indicates that weak memory ordering protection is disabled, and RO_1, RO_2, or RO_3 indicates that weak memory ordering protection is enabled. RO_1 uses the basic repair policy to ensure normal application execution and has the greatest performance loss. RO_2 uses the most secure repair policy and has great performance loss. RO_3 applies component optimization rules to reduce performance loss. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-highlevel-branch-prediction", "range": ["true", "false"], "description": "It predicts the execution direction of a branch based on the information in the code. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-branch-metadata", "range": [], "description": "On the basis of code vectorization, the control flow in the scalar loop is introduced again. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-boscc", "range": ["true", "false"], "description": "Usable only with -enable-branch-metadata. On the basis of code vectorization, the control flow in the scalar loop is introduced again. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ahead-prefetch", "range": ["true", "false"], "description": "It prefetches data on the entire calculation array in advance for a simple loop calculation with OpenMP enabled. This takes effect only at the AArch64 backend. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-antisca-spec-mitigations", "range": ["true", "false"], "description": "It adds protection instructions to all instructions that may access the memory to prevent Spectre variant 1 attacks. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-enable-spectre-detect", "range": ["true", "false"], "description": "This option indicates that 15 Spectre variant 1 attack scenarios mentioned in papers are detected and the specific file names and line numbers are provided through warning messages. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-aarch64-slh-vuln-loads-only", "range": ["true", "false"], "description": "Usable only with -enable-spectre-detect. This option protection instructions are added to these detected scenarios. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fopenmp-htl", "range": [], "description": "BiSheng compiler supports the use of lightweight threads in the Hyper Thread Library (HTL) to replace system threads in OpenMP scenarios. You do not need to modify the code. The compiler runtime supports this function. The HTL is not directly integrated in BiSheng. For details about how to download the HTL and more information, visit the Kunpeng community. \\r\\n To enable the HTL, perform the following steps: \\r\\n Compilation: Use -L to specify the path of the HTL libhtl.so. \\r\\n Running: Use LD_LIBRARY_PATH to specify the path of libhtl.so. \\r\\n Control option: -fopenmp-htl (If both -fopenmp-htl and -fopenmp are used, -fopenmp-htl has a higher priority.). \\r\\n Environment variable: KMP_HTL_NUM_ESS sets the number of execution flows running on OS-level threads (similar to specifying the number of Pthreads).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-convert", "range": ["big_endian", "little_endian", "swap", "native"], "description": "This option makes Flang compatible with the big endian and small endian of Intel Fortran (ifort).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-E", "range": [], "description": "Run the preprocessor stage.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fsyntax-only", "range": [], "description": "Run the preprocessor, parser and type checking stages.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-S", "range": [], "description": "Run the previous stages as well as LLVM generation and optimization stages and target-specific code generation, producing an assembly file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-c", "range": [], "description": "Run all of the above, plus the assembler, generating a target '.o' object file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-x", "range": [], "description": "Treat subsequent input files as having type language.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-std", "range": [ "c89", @@ -85331,826 +86767,826 @@ "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-stdlib", "range": ["libstdc++", "libc++"], "description": "Specify the C++ standard library to use; supported options are libstdc++ and libc++. If not specified, platform default will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-rtlib", "range": ["libgcc", "compiler-rt"], "description": "Specify the compiler runtime library to use; supported options are libgcc and compiler-rt. If not specified, platform default will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ansi", "range": [], "description": "Same as -std=c89.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ObjC", "range": [], "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ObjC++", "range": [], "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-trigraphs", "range": [], "description": "Enable trigraphs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ffreestanding", "range": [], "description": "Indicate that the file should be compiled for a freestanding, not a hosted, environment. Note that it is assumed that a freestanding environment will additionally provide memcpy, memmove, memset and memcmp implementations, as these are needed for efficient codegen for many programs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-builtin", "range": [], "description": "Disable special handling and optimizations of builtin functions like strlen() and malloc().", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fmath-errno", "range": [], "description": "Indicate that math functions should be treated as updating errno.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fpascal-strings", "range": [], "description": "Enable support for Pascal-style strings with '\\pfoo'.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fms-extensions", "range": [], "description": "Enable support for Microsoft extensions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fmsc-version", "range": [], "description": "Set _MSC_VER. Defaults to 1300 on Windows. Not set otherwise.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fborland-extensions", "range": [], "description": "Enable support for Borland extensions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fwritable-strings", "range": [], "description": "Make all string literals default to writable. This disables uniquing of strings and other optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-flax-vector-conversions", "range": ["none", "integer", "all"], "description": "Allow loose type checking rules for implicit vector conversions. Defaults to integer if unspecified.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-lax-vector-conversions", "range": [], "description": "Allow loose type checking rules for implicit vector conversions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fblocks", "range": [], "description": "Enable the 'Blocks' language feature.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fobjc-abi-version", "range": ["1", "2", "3"], "description": "Select the Objective-C ABI version to use. Available versions are 1 (legacy 'fragile' ABI), 2 (non-fragile ABI 1), and 3 (non-fragile ABI 2).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fobjc-nonfragile-abi-version", "range": [], "description": "Select the Objective-C non-fragile ABI version to use by default. This will only be used as the Objective-C ABI when the non-fragile ABI is enabled (either via -fobjc-nonfragile-abi, or because it is the platform default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fobjc-nonfragile-abi", "range": [], "description": "Enable use of the Objective-C non-fragile ABI.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-objc-nonfragile-abi", "range": [], "description": "Enable use of the Objective-C non-fragile ABI. On platforms for which this is the default ABI, it can be disabled with -fno-objc-nonfragile-abi.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-arch", "range": [], "description": "Specify the architecture to build for.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-mmacosx-version-min", "range": [], "description": "When building for macOS, specify the minimum version supported by your application.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-miphoneos-version-min", "range": [], "description": "When building for iPhone OS, specify the minimum version supported by your application.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-mcpu", "range": [], "description": "Acts as an alias for --print-supported-cpus.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-mtune", "range": [], "description": "Acts as an alias for --print-supported-cpus.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-march", "range": [], "description": "Specify that Clang should generate code for a specific processor family member and later. For example, if you specify -march=i486, the compiler is allowed to generate instructions that are valid on i486 and later processors, but which may not exist on earlier ones.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-g", "range": [], "description": "Generate debug information.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-gline-tables-only", "range": [], "description": "Generate only line table debug information. This allows for symbolicated backtraces with inlining information, but does not include any information about variables, their locations or types.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-gmodules", "range": [], "description": "Generate debug information that contains external references to types defined in Clang modules or precompiled headers instead of emitting redundant debug type information into every object file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fstandalone-debug", "range": [], "description": "Clang supports a number of optimizations to reduce the size of debug information in the binary.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-standalone-debug", "range": [], "description": "On Darwin -fstandalone-debug is enabled by default.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-feliminate-unused-debug-types", "range": [], "description": "By default, Clang does not emit type information for types that are defined but not used in a program. To retain the debug info for these unused types, the negation -fno-eliminate-unused-debug-types can be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fexceptions", "range": [], "description": "Enable generation of unwind information. This allows exceptions to be thrown through Clang compiled stack frames. This is on by default in x86-64.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ftrapv", "range": [], "description": "Generate code to catch integer overflow errors. Signed integer overflow is undefined in C. With this flag, extra code is generated to detect this and abort when it happens.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fvisibility", "range": [], "description": "This flag sets the default visibility level.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fcommon", "range": [], "description": "This flag specifies that variables without initializers get common linkage.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-common", "range": [], "description": "This flag specifies that variables without initializers get common linkage. It can be disabled with -fno-common.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ftls-model", "range": ["global-dynamic", "local-dynamic", "initial-exec", "local-exec"], "description": "Set the default thread-local storage (TLS) model to use for thread-local variables. Valid values are: 'global-dynamic', 'local-dynamic', 'initial-exec' and 'local-exec'.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-flto", "range": ["full", "thin"], "description": "Generate output files in LLVM formats, suitable for link time optimization. When used with -S this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-emit-llvm", "range": [], "description": "Generate output files in LLVM formats, suitable for link time optimization.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Qunused-arguments", "range": [], "description": "Do not emit any warnings for unused driver arguments.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Wa", "range": [], "description": "Pass the comma separated arguments in args to the assembler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Wl", "range": [], "description": "Pass the comma separated arguments in args to the linker.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Wp", "range": [], "description": "Pass the comma separated arguments in args to the preprocessor.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Xanalyzer", "range": [], "description": "Pass arg to the static analyzer.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Xassembler", "range": [], "description": "Pass arg to the assembler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Xlinker", "range": [], "description": "Pass arg to the linker.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Xpreprocessor", "range": [], "description": "Pass arg to the preprocessor.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-o", "range": [], "description": "Write output to file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-print-file-name", "range": [], "description": "Print the full library path of file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-print-libgcc-file-name", "range": [], "description": "Print the library path for the currently used compiler runtime library ('libgcc.a' or 'libclang_rt.builtins.*.a').", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-print-prog-name", "range": [], "description": "Print the full program path of name.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-print-search-dirs", "range": [], "description": "Print the paths used for finding libraries and programs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-save-temps", "range": [], "description": "Save intermediate compilation results.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-save-stats", "range": ["cwd", "obj"], "description": "Save internal code generation (LLVM) statistics to a file in the current directory (-save-stats/'-save-stats=cwd') or the directory of the output file ('-save-state=obj').", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-integrated-as", "range": [], "description": "Enable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-no-integrated-as", "range": [], "description": "Disable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-time", "range": [], "description": "Time individual commands.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-ftime-report", "range": [], "description": "Print timing summary of each stage of compilation.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-v", "range": [], "description": "Show commands to run and use verbose output.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fshow-column", "range": [], "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fshow-source-location", "range": [], "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fcaret-diagnostics", "range": [], "description": "The line of source code that the issue occurs on, along with a caret and ranges that indicate the important locations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fdiagnostics-fixit-info", "range": [], "description": "'FixIt' information, which is a concise explanation of how to fix the problem (when Clang is certain it knows).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fdiagnostics-parseable-fixits", "range": [], "description": "Print fix-its in machine parseable form", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fdiagnostics-print-source-range-info", "range": [], "description": "A machine-parsable representation of the ranges involved (off by default)", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fdiagnostics-show-option", "range": [], "description": "An option that indicates how to control the diagnostic (for diagnostics that support it)", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-nostdinc", "range": [], "description": "Do not search the standard system directories or compiler builtin directories for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-nostdlibinc", "range": [], "description": "Do not search the standard system directories for include files, but do search compiler builtin include directories.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-nobuiltininc", "range": [], "description": "Do not search clang's builtin directory for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-O0", "range": [], "description": "Means 'no optimization': this level compiles the fastest and generates the most debuggable code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-O1", "range": [], "description": "Somewhere between -O0 and -O2.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-O2", "range": [], "description": "Moderate level of optimization which enables most optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-O3", "range": [], "description": "Like -O2, except that it enables optimizations that take longer to perform or that may generate larger code (in an attempt to make the program run faster).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Ofast", "range": [], "description": "Enables all the optimizations from -O3 along with other aggressive optimizations that may violate strict compliance with language standards.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Os", "range": [], "description": "Like -O2 with extra optimizations to reduce code size.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Oz", "range": [], "description": "Like -Os (and thus -O2), but reduces code size further.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Og", "range": [], "description": "Like -O1. In future versions, this option might disable different optimizations in order to improve debuggability.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-O", "range": [], "description": "Equivalent to -O1.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-O4", "range": [], "description": "And higher. Currently equivalent to -O3", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-builtin-", "range": [], "description": "Disable special handling and optimizations for the specific library function.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-builtin-std-", "range": [], "description": "Disable special handling and optimizations for the specific C++ standard library function in namespace std.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "--print-supported-cpus", "range": [], "description": "Print out a list of supported processors for the given target (specified through --target= or -arch ). If no target is specified, the system default target will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-target", "range": [], "description": "Specify the architecture to build for (all platforms).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-D", "range": [], "description": "Adds an implicit #define into the predefines buffer which is read before the source file is preprocessed..", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-U", "range": [], "description": "Adds an implicit #undef into the predefines buffer which is read before the source file is preprocessed.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-include", "range": [], "description": "Add the specified directory to the search path for include files..", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-I", "range": [], "description": "Add the specified directory to the search path for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-F", "range": [], "description": "Add the specified directory to the search path for framework include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fkeep-system-includes", "range": [], "description": "Usable only with -E. Do not copy the preprocessed content of “system” headers to the output; instead, preserve the #include directive. This can greatly reduce the volume of text produced by -E which can be helpful when trying to produce a “small” reproduceable test case.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-noFlangLibs", "range": [], "description": "Do not link against Flang libraries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-mp", "range": [], "description": "Enable OpenMP and link with with OpenMP library libomp.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-nomp", "range": [], "description": "Do not link with OpenMP library libomp.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mbackslash", "range": [], "description": "Treat backslash in quoted strings like any other character.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mnobackslash", "range": [], "description": "Treat backslash in quoted strings like a C-style escape character (Default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mbyteswapio", "range": [], "description": "Swap byte-order for unformatted input/output.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mfixed", "range": [], "description": "Assume fixed-format source.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mextend", "range": [], "description": "Allow source lines up to 132 characters.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mfreeform", "range": [], "description": "Assume free-format source.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mpreprocess", "range": [], "description": "Run preprocessor for Fortran files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mrecursive", "range": [], "description": "Generate code to allow recursive subprograms.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mstandard", "range": [], "description": "Check standard conformance.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Msave", "range": [], "description": "Assume all variables have SAVE attribute.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-module", "range": [], "description": "path to module file (-I also works).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mallocatable", "range": [], "description": "Select Fortran 03 semantics for assignments to allocatable objects (Default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-static-flang-libs", "range": [], "description": "Link using static Flang libraries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-M[no]daz", "range": [], "description": "Treat denormalized numbers as zero.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-M[no]flushz", "range": [], "description": "Set SSE to flush-to-zero mode.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-Mcache_align", "range": [], "description": "Align large objects on cache-line boundaries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-M[no]fprelaxed", "range": [], "description": "This option is ignored.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fdefault-integer-8", "range": [], "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fdefault-real-8", "range": [], "description": "Treat REAL as REAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-i8", "range": [], "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-r8", "range": [], "description": "Treat REAL as REAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "3.2.0", + "gcc_version": "4.0.0", "name": "-fno-fortran-main", "range": [], "description": "Don't link in Fortran main.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mflushz", "range": [], "description": "This option indicates whether to flush denormalized floating-point values to zero and is different from other unsecure floating-point optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffp-contract", "range": [ "off", @@ -86161,567 +87597,623 @@ "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-faarch64-pow-alt-precision", "range": ["18", "21"], "description": "This Flang option is valid only for Fortran code. It is used to change the optimization policy of the pow function so that the computing result of the pow function is the same as that on the non-ARM platform.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-faarch64-minmax-alt-precision", "range": [], "description": "This Flang option is valid only for Fortran code. It is used to change the optimization policy of the min or max function so that the computing result of the min or max function is the same as that on the non-ARM platform.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-disable-sincos-opt", "range": [], "description": "This llvm option is used to change the optimization policies of the sin or cos function so that the computing result of the sin or cos function is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aarch64-recip-alt-precision", "range": [], "description": "This llc option uses the soft floating-point compensation to ensure that the computing result of the recip reciprocal instruction is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aarch64-rsqrt-alt-precision", "range": [], "description": "This llc option uses the soft floating-point compensation to ensure that the computing result of the rsqrt reciprocal square root extraction instruction is the same as that on the non-ARM platform. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-alt-precision-math-functions", "range": [], "description": "This llvm option is used to replace names of the math functions __mth_i_cosd, __mth_i_asind, and __pd_powi_1 with cosdf, asindf, and powr8i4 to control their precision. (This option must be used together with the KML math library.) This option takes effect only for O1 or higher optimization levels. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-18-math-compatibility", "range": [], "description": "This llvm option is used to convert math functions such as tgammaf, cbrt, log, and log10 to functions suffixed with _18 to control their precision. (This option must be used together with the KML math library.) This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-80-math-compatibility", "range": ["true", "false"], "description": "This llvm option is used to convert 80-bit floating-point math functions such as cosl, sinl, and logl to functions suffixed with _k80 to control their precision. This option must be used together with the KML. This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled. By default, the conversion is enabled. If this option is set to false, the conversion is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-disable-80-math-compatibility", "range": ["all", "func1,func2..."], "description": "This llvm option is used to disable the conversion from a specified function to a function suffixed with _k80 in the KML after -mllvm -enable-80-math-compatibility is enabled. In this way, the math function precision can be controlled. This option must be used together with the KML. This option takes effect only when the optimization level is higher than or equal to O1 and -mllvm -enable-alt-precision-math-functions is enabled.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffp-compatibility", "range": ["17", "18", "21","gnu_4.8.4"], "description": "This general option is used to control all options that need to be enabled to ensure that the calculation result is consistent with that on the non-ARM platform.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffma-combine-fdiv", "range": [], "description": "This general option is used to optimize the expression a/b+c to fma(a, 1/b, c), which ensures that the calculation result is consistent with that on the non-ARM platform. This parameter is valid only when -ffp-contract is set to fast.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffma-reverse-associative", "range": [], "description": "This general option is used to optimize the expression ab+cd to fma(a, b, c*d), which ensures that the calculation result is consistent with that on the non-ARM platform. This parameter is valid only when -ffp-contract is set to fast.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fprecision-align-when-round", "range": [], "description": "This Flang option is used to keep the rounding mode of constant initialization consistent with that on the non-Arm computing platform. This option is valid only for Fortran.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Hx,124,0xc00000", "range": [], "description": "This Flang option is used to keep the rounding mode of constant initialization consistent with that on the non-ARM computing platform. This option is valid only for Fortran.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-force-customized-pipeline", "range": ["true", "false"], "description": "This option forcibly uses the customized pass pipeline. The value true indicates that the optimization is enabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-sad-pattern-recognition", "range": ["true", "false"], "description": "This option optimizes the absolute value summation operation for differences (sum += abs(a[i] – b[i])) to generate a more simplified and efficient operation sequence. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-instcombine-ctz-array", "range": ["true", "false"], "description": "This option optimizes the calculation for De Bruijn sequence table lookup. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aarch64-loopcond-opt", "range": ["true", "false"], "description": "This option reduces unnecessary instructions for loop condition judgment under some conditions to optimize the code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aarch64-hadd-generation", "range": ["true", "false"], "description": "This option uses only one ARM NEON instruction URHADD to complete the vectorized operation (x[i] + y[i] + 1) >> 1 and optimize the code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-loop-split", "range": ["true", "false"], "description": "This option splits a loop meeting specific conditions into multiple loops to facilitate the reduction of unnecessary loops. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-mem-chk-simplification", "range": ["true", "false"], "description": "This option simplifies the logic of runtime checks generated for LLVM loop vectorization and improves loop vectorization code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aarch64-ldp-stp-noq", "range": ["true", "false"], "description": "This option prohibits the generation of stp/ldp q1, q2, or addr instructions. The performance of these instructions is not ideal. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-func-arg-analysis", "range": ["true", "false"], "description": "This option enhances LLVM range analysis to adapt LLVM function specialization optimization to more functions. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-modest-vectorization-unrolling-factors", "range": ["true", "false"], "description": "This option simplifies vectorization for loops with a smaller step. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-instcombine-shrink-vector-element", "range": ["true", "false"], "description": "This option improves the degree of parallelism (DOP) of vectorized instructions and eliminates the scalar median value generated during vectorization, improving the effect of loop vectorization. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-instcombine-reorder-sum-of-reduce-add", "range": ["true", "false"], "description": "This option changes the sequence of reduction operations to improve the reduction code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-replace-fortran-mem-alloc", "range": ["true", "false"], "description": "This option allocates stack memory, instead of heap memory, to improve performance when a memory allocation operation of known size (such as arrays) is required in Fortran code. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-convert", "range": ["big_endian", "little_endian","swap","native"], "description": "This option makes Flang compatible with the big endian and small endian of Intel Fortran (ifort).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fp-detect-exceptions", "range": [], "description": "It enables the NaN detection for a Fortran application. For details, see BiSheng Compiler Optimization and Programming Guide.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fGNU-compatibility", "range": [], "description": "It enables the compatibility between BiSheng compiler and the GNU compiler, including but not limited to degrading the severity of alarms for BiSheng compiler failing to identify GNU functional options to warning.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fIntel-compatibility", "range": [], "description": "It enables the compatibility between BiSheng compiler and the Intel compiler, including but not limited to degrading the severity of alarms for BiSheng compiler failing to identify Intel functional options to warning.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fGNU-warning-compatibility", "range": [], "description": "After this option is enabled, -Werror does not upgrade a warning to an error in scenarios where BiSheng compiler performs stricter syntax check than the GNU compiler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fGNU-error-compatibility", "range": [], "description": "After this option is enabled, the error reported by BiSheng compiler is degraded to a warning in scenarios where BiSheng compiler performs stricter syntax check than the GNU compiler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fallow-argument-kind-mismatch", "range": [], "description": "Input parameter type mismatches are allowed in Fortran code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffixed-line-length-x", "range": [], "description": "In the Fortran language standards, the maximum line width of Fortran code in the fixed format is extended to a value specified by x (it can be any number or none). When x is set to 0 or none, any line width is supported.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffree-line-length-x", "range": [], "description": "In the Fortran language standards, the maximum line width of Fortran code in the free format is extended to any line width. The value of x can be 0 or none.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-pg-math-call-simplification", "range": ["true", "false"], "description": "This option simplifies the calling of multiple Fortran math library functions to advance the calling performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-instcombine-gep-common", "range": ["true", "false"], "description": "This option optimizes the element address calculation for multi-dimensional arrays in complex scenarios (such as nested loops) to reduce the register pressure and improve program performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-sroa-after-unroll", "range": ["true", "false"], "description": "This option enables the function of adding SROA after loop unrolling to reduce memory access operations and store variables in the register. The value true indicates that the optimization is enabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-disable-recursive-bonus", "range": ["true", "false"], "description": "This option makes function calling in a recursive function easier to be inlined, improving the performance of frequently called recursive functions. The value true indicates that the inline operation is disabled. The default value is false, indicating that the inline operation is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-disable-recip-sqrt-opt", "range": ["true", "false"], "description": "This option optimizes the formats of A = (C / sqrt(Y)) and B = A * A in FastMath scenarios to reduce the number of instructions. The value true indicates that the optimization is disabled. The default value is false, indicating that the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-disable-loop-aware-reassociation", "range": ["true", "false"], "description": "This option adds loop awareness to Reassociate Pass to limit some operations within the loop, preventing performance deterioration caused by the increase of instructions in the loop. The value true indicates that the optimization is disabled. The default value is false, indicating that the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-gzipcrc32", "range": ["true", "false"], "description": "This option identifies the CRC32 calculation logic in the code and uses the built-in instructions of the processor to accelerate the calculation. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-aes", "range": ["true", "false"], "description": "This option identifies the AES calculation logic in the code and uses the built-in instructions of the processor to accelerate the calculation. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-mayalias-loadpromotion", "range": ["true", "false"], "description": "At LTO and O3, unnecessary load instructions in the loop branch are identified and deleted. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-merge-reversed-icmps", "range": ["true", "false"], "description": "At O3, reversed consecutive integer comparisons are merged (the target must be in little-endian order). If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", + "name": "-fno-inline-reduction-intrinsic", + "range": ["true", "false"], + "description": "At O1, O2, and O3, BiSheng compiler enables minloc and maxloc inlining in the flang1 phase. After inlining, the functions can be called simply using for loops, which facilitates further optimization in LLVM. This option can disable inlining, which is the same as O0.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", "name": "-Hx,70,0x20000000", "range": [], "description": "In O1, O2, and O3, BiSheng compiler enables minloc and maxloc inlining in the flang1 phase. After inlining, the functions can be called simply using for loops, which facilitates further optimization in LLVM. This option can disable inlining, which is the same as O0.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-update-iv-scev", "range": [], "description": "This option updates the SCEV analysis result in induction variable users pass to display more optimization opportunities. This option is enabled by default, which may increase the compilation duration. If you have high requirements on the compilation duration, you can set -mllvm -update-iv-scev to false. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-gep-common", "range": [], "description": "This option generates a common parent for GEP clusters that originate from the same instruction by removing add instructions (that are used as indexes). \\r\\n-mllvm -gep-common= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -gep-cluster-min= indicates the GEP cluster threshold. The default value is 3. \\r\\n-mllvm -gep-loop-mindepth= indicates the loop threshold. The default value is 3.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-array-restructuring", "range": [], "description": "This option optimizes the memory access mode of one or more arrays in a program and rearranges arrays to reduce the running time. \\r\\n-mllvm -enable-array-restructuring= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -skip-array-restructuring-codegen= indicates whether to disable the code generation part of the optimization pass. If the value is set to true, the code generation part of the optimization pass is disabled. The default value is false.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-struct-peel", "range": [], "description": "This option optimizes structure peeling and increases the local cache when the structure fields in a structure array are accessed, reducing the running time. \\r\\n-mllvm -enable-struct-peel= indicates whether to enable the optimization. If the value is set to true, the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -struct-peel-skip-transform= indicates whether to disable the code generation part of the optimization pass. If the value is set to true, the code generation part of the optimization pass is disabled. The default value is false. \\r\\n-mllvm -struct-peel-this=... indicates forcibly peeling a structure defined by the user (subject to legality).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fopenmp-reduction-duplicate", "range": [], "description": "This option enhances the vectorization capability in the OpenMP reduction scenario. This takes effect at the AArch64 backend and C and C++ frontends only when -fopenmp is enabled. This option is enabled by default. You can run -fno-openmp-reduction-duplicate to disable it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fopenmp-firstprivatize-locals", "range": [], "description": "This option enhances the vectorization capability in the OpenMP firstprivatize scenario. This takes effect at the AArch64 backend and C and C++ frontends only when -fopenmp is enabled. This option is enabled by default. You can run -fno-openmp-firstprivatize-locals to disable it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-sort-ivusers-before-lsr", "range": [], "description": "Loop strength reduction (LSR) optimization is performed only after induction variable users are sorted. This prevents binary assembly inconsistency during multiple compilations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mx,218,0x1", "range": [], "description": "BiSheng compiler enables inlining string comparison in the flang2 phase. After inlining, a function call becomes a simple for-loop character comparison, which can be further optimized in the LLVM. The inlining function is disabled by default. You can use this option to enable the inlining function.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-foverflow-shift-alt-behavior", "range": [], "description": "For undefined shift behavior that exceeds the bit width of the integer data type, for example, (int) a << 40, BiSheng compiler optimizes the expression to an integer constant in advance to prevent the expression from being identified and optimized as different values in different optimizations. This option is disabled by default.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-warn-large-symbols", "range": [], "description": "In C, C++, and Fortran programs, if ultra-large symbols exist, the relocation type of symbol addressing cannot support such a large range offset. This option is used to identify large symbols that may exist in the source code (the threshold of large symbols is controlled by the option parameter num, in MB). In addition, the corresponding alarm is provided. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-instcombine-simplify-mul64", "range": ["true", "false"], "description": "This option simplifies the algorithm of multiplying two 64-bit operands to output a 128-bit data into a more efficient instruction. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-replace-sqrt-compare-by-square", "range": ["true", "false"], "description": "This option converts the comparison condition by replacing the square root calculation in the comparison condition with the square calculation of its result. This optimization is enabled only when -ffast-math is enabled. The value true indicates that the optimization is enabled. By default, the optimization is disabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-combine-sqrt-exp", "range": ["true", "false"], "description": "This option optimizes sqrt(exp(x)) to exp(x*0.5) to eliminate sqrt calculations with high execution costs. This optimization is enabled only when -ffast-math is enabled. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-loop-load-widen-patterns", "range": ["0", "1", "2"], "description": "This option optimizes scenarios where some data can be accessed using a wider data type. Currently, three scenarios are supported, and the IDs are 0, 1, and 2, respectively. Use commas (,) to separate them. By default, the optimization is disabled. This option is disabled by default. Currently, the C language and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-aggressive-inline", "range": ["true", "false"], "description": "This option does not consider the __attribute__((noinline)) restriction in the source code and forcibly regards the function as a common function to determine whether to perform inline optimization .The value true indicates that the optimization is enabled. By default, the optimization is disabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-shift-rounding", "range": [], "description": "This option matches a rounding scenario and selects an appropriate instruction to reduce the running time. \\r\\n-mllvm -aarch64-optimize-rounding = controls the optimization. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -aarch64-optimize-rounding-saturation= determines whether to optimize the SQRSHRUN/UQRSHRN scenario. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\nThe -mllvm -aarch64-extract-vector-element-trunc-combine= provides better instruction selection in some scenarios. The value true indicates that the optimization is enabled. By default, the optimization is enabled. \\r\\n-mllvm -aarch64-rounding-search-max-depth = sets the search depth of a rounding scenario. The default value is 4.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aggressive-instcombine-simplify-sqr64", "range": ["true", "false"], "description": "This option optimizes the 64-bit SQR operation to use simplified instructions to improve performance. The value true indicates that the optimization is enabled. By default, the optimization is enabled. Currently, the C and C++ languages and the AArch64 backend are supported. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-value-spec", "range": ["true", "false"], "description": "For the res = x ? y : z ternary operator expression, when y or z contains zero and is selected as the result, calculations such as multiplication that references the res variable can be optimized to improve performance. This optimization identifies a select instruction formed by the ternary operator in an IR and eliminates some redundant instructions that use the select instruction result. Note that this optimization changes the select instruction only when the ternary operator forms the select instruction in the middle-end of the compiler. \\r\\n -mllvm -vspec-min-select-users = controls the number of redundant instructions that use the select instruction result. When the actual number is greater than the specified value, the optimization is enabled. The default value is 5. \\r\\n -mllvm -vspec-search-users-depth = controls the depth of a basic block that contains redundant instructions and is searched downwards from the basic block where the select instruction result is located. The default value is 5.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-relaxed-ordering-level", "range": ["RO_DISABLE", "RO_1", "RO_2", "RO_3"], "description": "RO_DISABLE indicates that weak memory ordering protection is disabled, and RO_1, RO_2, or RO_3 indicates that weak memory ordering protection is enabled. RO_1 uses the basic repair policy to ensure normal application execution and has the greatest performance loss. RO_2 uses the most secure repair policy and has great performance loss. RO_3 applies component optimization rules to reduce performance loss. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", + "name": "-enable-branch-metadata -mllvm -enable-boscc", + "range": ["true", "false"], + "description": "On the basis of code vectorization, the control flow in the scalar loop is introduced again. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", "name": "-enable-highlevel-branch-prediction", "range": ["true", "false"], "description": "It predicts the execution direction of a branch based on the information in the code. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-branch-metadata", "range": [], "description": "On the basis of code vectorization, the control flow in the scalar loop is introduced again. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-boscc", "range": ["true", "false"], "description": "Usable only with -enable-branch-metadata. On the basis of code vectorization, the control flow in the scalar loop is introduced again. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is disabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ahead-prefetch", "range": ["true", "false"], "description": "It prefetches data on the entire calculation array in advance for a simple loop calculation with OpenMP enabled. This takes effect only at the AArch64 backend. If this option is set to true, the optimization is enabled. If this option is set to false, the optimization is disabled. By default, the optimization is enabled. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-antisca-spec-mitigations", "range": ["true", "false"], "description": "It adds protection instructions to all instructions that may access the memory to prevent Spectre variant 1 attacks. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-enable-spectre-detect", "range": ["true", "false"], "description": "This option indicates that 15 Spectre variant 1 attack scenarios mentioned in papers are detected and the specific file names and line numbers are provided through warning messages. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-aarch64-slh-vuln-loads-only", "range": ["true", "false"], "description": "Usable only with -enable-spectre-detect. This option protection instructions are added to these detected scenarios. To use this option, add -mllvm before it.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", + "name": "-enable-new-loop-distribute", + "range": ["true", "false"], + "description": "It enables more aggressive loop splitting optimization to facilitate loop vectorization.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-aarch64-enable-early-sve-libcall-opts", + "range": ["armv8-a+sm4"], + "description": "It enables SM4 block cipher algorithm instructions at the backend.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-enable-malloc-distribute", + "range": ["true", "false"], + "description": "The loop for performing the malloc operation on multiple arrays that may become performance bottlenecks is split to improve the memory access performance.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-m[no-]fcmla", + "range": [], + "description": "More efficient instruction FCMLA is generated for complex-number-related computations (complex multiplication, subtraction, and conjugate multiplication) to improve performance. -mfcmla is used to enable the function, and -mno-fcmla is used to disable the function.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-enable-sm4 -march", + "range": ["true", "false"], + "description": "It replaces std::find() with a better performance version implemented based on SVE instructions inside BiSheng compiler.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", "name": "-fopenmp-htl", "range": [], "description": "BiSheng compiler supports the use of lightweight threads in the Hyper Thread Library (HTL) to replace system threads in OpenMP scenarios. You do not need to modify the code. The compiler runtime supports this function. The HTL is not directly integrated in BiSheng. For details about how to download the HTL and more information, visit the Kunpeng community. \\r\\n To enable the HTL, perform the following steps: \\r\\n Compilation: Use -L to specify the path of the HTL libhtl.so. \\r\\n Running: Use LD_LIBRARY_PATH to specify the path of libhtl.so. \\r\\n Control option: -fopenmp-htl (If both -fopenmp-htl and -fopenmp are used, -fopenmp-htl has a higher priority.). \\r\\n Environment variable: KMP_HTL_NUM_ESS sets the number of execution flows running on OS-level threads (similar to specifying the number of Pthreads).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", + "name": "-prefer-fixed-vector", + "range": ["true"], + "description": "For the Kunpeng 920 7285Z/7280Z/7270Z, if both the SVE and NEON instructions can be used for vectorization, the NEON instruction is preferred.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", "name": "-convert", "range": ["big_endian", "little_endian", "swap", "native"], "description": "This option makes Flang compatible with the big endian and small endian of Intel Fortran (ifort).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-E", "range": [], "description": "Run the preprocessor stage.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fsyntax-only", "range": [], "description": "Run the preprocessor, parser and type checking stages.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-S", "range": [], "description": "Run the previous stages as well as LLVM generation and optimization stages and target-specific code generation, producing an assembly file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-c", "range": [], "description": "Run all of the above, plus the assembler, generating a target '.o' object file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-x", "range": [], "description": "Treat subsequent input files as having type language.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-std", "range": [ "c89", @@ -86761,816 +88253,851 @@ "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-stdlib", "range": ["libstdc++", "libc++"], "description": "Specify the C++ standard library to use; supported options are libstdc++ and libc++. If not specified, platform default will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-rtlib", "range": ["libgcc", "compiler-rt"], "description": "Specify the compiler runtime library to use; supported options are libgcc and compiler-rt. If not specified, platform default will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ansi", "range": [], "description": "Same as -std=c89.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ObjC", "range": [], "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ObjC++", "range": [], "description": "Treat source input files as Objective-C and Object-C++ inputs respectively.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-trigraphs", "range": [], "description": "Enable trigraphs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ffreestanding", "range": [], "description": "Indicate that the file should be compiled for a freestanding, not a hosted, environment. Note that it is assumed that a freestanding environment will additionally provide memcpy, memmove, memset and memcmp implementations, as these are needed for efficient codegen for many programs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-builtin", "range": [], "description": "Disable special handling and optimizations of builtin functions like strlen() and malloc().", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fmath-errno", "range": [], "description": "Indicate that math functions should be treated as updating errno.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fpascal-strings", "range": [], "description": "Enable support for Pascal-style strings with '\\pfoo'.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fms-extensions", "range": [], "description": "Enable support for Microsoft extensions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fmsc-version", "range": [], "description": "Set _MSC_VER. Defaults to 1300 on Windows. Not set otherwise.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fborland-extensions", "range": [], "description": "Enable support for Borland extensions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fwritable-strings", "range": [], "description": "Make all string literals default to writable. This disables uniquing of strings and other optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-flax-vector-conversions", "range": ["none", "integer", "all"], "description": "Allow loose type checking rules for implicit vector conversions. Defaults to integer if unspecified.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-lax-vector-conversions", "range": [], "description": "Allow loose type checking rules for implicit vector conversions.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fblocks", "range": [], "description": "Enable the 'Blocks' language feature.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fobjc-abi-version", "range": ["1", "2", "3"], "description": "Select the Objective-C ABI version to use. Available versions are 1 (legacy 'fragile' ABI), 2 (non-fragile ABI 1), and 3 (non-fragile ABI 2).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fobjc-nonfragile-abi-version", "range": [], "description": "Select the Objective-C non-fragile ABI version to use by default. This will only be used as the Objective-C ABI when the non-fragile ABI is enabled (either via -fobjc-nonfragile-abi, or because it is the platform default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fobjc-nonfragile-abi", "range": [], "description": "Enable use of the Objective-C non-fragile ABI.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-objc-nonfragile-abi", "range": [], "description": "Enable use of the Objective-C non-fragile ABI. On platforms for which this is the default ABI, it can be disabled with -fno-objc-nonfragile-abi.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-arch", "range": [], "description": "Specify the architecture to build for.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-mmacosx-version-min", "range": [], "description": "When building for macOS, specify the minimum version supported by your application.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-miphoneos-version-min", "range": [], "description": "When building for iPhone OS, specify the minimum version supported by your application.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-mcpu", "range": [], "description": "Acts as an alias for --print-supported-cpus.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-mtune", "range": [], "description": "Acts as an alias for --print-supported-cpus.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-march", "range": [], "description": "Specify that Clang should generate code for a specific processor family member and later. For example, if you specify -march=i486, the compiler is allowed to generate instructions that are valid on i486 and later processors, but which may not exist on earlier ones.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-g", "range": [], "description": "Generate debug information.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-gline-tables-only", "range": [], "description": "Generate only line table debug information. This allows for symbolicated backtraces with inlining information, but does not include any information about variables, their locations or types.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-gmodules", "range": [], "description": "Generate debug information that contains external references to types defined in Clang modules or precompiled headers instead of emitting redundant debug type information into every object file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fstandalone-debug", "range": [], "description": "Clang supports a number of optimizations to reduce the size of debug information in the binary.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-standalone-debug", "range": [], "description": "On Darwin -fstandalone-debug is enabled by default.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-feliminate-unused-debug-types", "range": [], "description": "By default, Clang does not emit type information for types that are defined but not used in a program. To retain the debug info for these unused types, the negation -fno-eliminate-unused-debug-types can be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fexceptions", "range": [], "description": "Enable generation of unwind information. This allows exceptions to be thrown through Clang compiled stack frames. This is on by default in x86-64.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ftrapv", "range": [], "description": "Generate code to catch integer overflow errors. Signed integer overflow is undefined in C. With this flag, extra code is generated to detect this and abort when it happens.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fvisibility", "range": [], "description": "This flag sets the default visibility level.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fcommon", "range": [], "description": "This flag specifies that variables without initializers get common linkage.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-common", "range": [], "description": "This flag specifies that variables without initializers get common linkage. It can be disabled with -fno-common.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ftls-model", "range": ["global-dynamic", "local-dynamic", "initial-exec", "local-exec"], "description": "Set the default thread-local storage (TLS) model to use for thread-local variables. Valid values are: 'global-dynamic', 'local-dynamic', 'initial-exec' and 'local-exec'.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-flto", "range": ["full", "thin"], "description": "Generate output files in LLVM formats, suitable for link time optimization. When used with -S this generates LLVM intermediate language assembly files, otherwise this generates LLVM bitcode format object files (which may be passed to the linker depending on the stage selection options).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-emit-llvm", "range": [], "description": "Generate output files in LLVM formats, suitable for link time optimization.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Qunused-arguments", "range": [], "description": "Do not emit any warnings for unused driver arguments.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Wa", "range": [], "description": "Pass the comma separated arguments in args to the assembler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Wl", "range": [], "description": "Pass the comma separated arguments in args to the linker.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Wp", "range": [], "description": "Pass the comma separated arguments in args to the preprocessor.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Xanalyzer", "range": [], "description": "Pass arg to the static analyzer.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Xassembler", "range": [], "description": "Pass arg to the assembler.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Xlinker", "range": [], "description": "Pass arg to the linker.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Xpreprocessor", "range": [], "description": "Pass arg to the preprocessor.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-o", "range": [], "description": "Write output to file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-print-file-name", "range": [], "description": "Print the full library path of file.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-print-libgcc-file-name", "range": [], "description": "Print the library path for the currently used compiler runtime library ('libgcc.a' or 'libclang_rt.builtins.*.a').", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-print-prog-name", "range": [], "description": "Print the full program path of name.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-print-search-dirs", "range": [], "description": "Print the paths used for finding libraries and programs.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-save-temps", "range": [], "description": "Save intermediate compilation results.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-save-stats", "range": ["cwd", "obj"], "description": "Save internal code generation (LLVM) statistics to a file in the current directory (-save-stats/'-save-stats=cwd') or the directory of the output file ('-save-state=obj').", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-integrated-as", "range": [], "description": "Enable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-no-integrated-as", "range": [], "description": "Disable the use of the integrated assembler. Whether the integrated assembler is on by default is target dependent.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-time", "range": [], "description": "Time individual commands.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-ftime-report", "range": [], "description": "Print timing summary of each stage of compilation.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-v", "range": [], "description": "Show commands to run and use verbose output.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fshow-column", "range": [], "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fshow-source-location", "range": [], "description": "A file/line/column indicator that shows exactly where the diagnostic occurs in your code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fcaret-diagnostics", "range": [], "description": "The line of source code that the issue occurs on, along with a caret and ranges that indicate the important locations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fdiagnostics-fixit-info", "range": [], "description": "'FixIt' information, which is a concise explanation of how to fix the problem (when Clang is certain it knows).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fdiagnostics-parseable-fixits", "range": [], "description": "Print fix-its in machine parseable form", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fdiagnostics-print-source-range-info", "range": [], "description": "A machine-parsable representation of the ranges involved (off by default)", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fdiagnostics-show-option", "range": [], "description": "An option that indicates how to control the diagnostic (for diagnostics that support it)", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-nostdinc", "range": [], "description": "Do not search the standard system directories or compiler builtin directories for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-nostdlibinc", "range": [], "description": "Do not search the standard system directories for include files, but do search compiler builtin include directories.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-nobuiltininc", "range": [], "description": "Do not search clang's builtin directory for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-O0", "range": [], "description": "Means 'no optimization': this level compiles the fastest and generates the most debuggable code.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-O1", "range": [], "description": "Somewhere between -O0 and -O2.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-O2", "range": [], "description": "Moderate level of optimization which enables most optimizations.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-O3", "range": [], "description": "Like -O2, except that it enables optimizations that take longer to perform or that may generate larger code (in an attempt to make the program run faster).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Ofast", "range": [], "description": "Enables all the optimizations from -O3 along with other aggressive optimizations that may violate strict compliance with language standards.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Os", "range": [], "description": "Like -O2 with extra optimizations to reduce code size.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Oz", "range": [], "description": "Like -Os (and thus -O2), but reduces code size further.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Og", "range": [], "description": "Like -O1. In future versions, this option might disable different optimizations in order to improve debuggability.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-O", "range": [], "description": "Equivalent to -O1.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-O4", "range": [], "description": "And higher. Currently equivalent to -O3", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-builtin-", "range": [], "description": "Disable special handling and optimizations for the specific library function.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-builtin-std-", "range": [], "description": "Disable special handling and optimizations for the specific C++ standard library function in namespace std.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "--print-supported-cpus", "range": [], "description": "Print out a list of supported processors for the given target (specified through --target= or -arch ). If no target is specified, the system default target will be used.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-target", "range": [], "description": "Specify the architecture to build for (all platforms).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-D", "range": [], "description": "Adds an implicit #define into the predefines buffer which is read before the source file is preprocessed..", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-U", "range": [], "description": "Adds an implicit #undef into the predefines buffer which is read before the source file is preprocessed.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-include", "range": [], "description": "Add the specified directory to the search path for include files..", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-I", "range": [], "description": "Add the specified directory to the search path for include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-F", "range": [], "description": "Add the specified directory to the search path for framework include files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fkeep-system-includes", "range": [], "description": "Usable only with -E. Do not copy the preprocessed content of “system” headers to the output; instead, preserve the #include directive. This can greatly reduce the volume of text produced by -E which can be helpful when trying to produce a “small” reproduceable test case.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-noFlangLibs", "range": [], "description": "Do not link against Flang libraries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-mp", "range": [], "description": "Enable OpenMP and link with with OpenMP library libomp.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-nomp", "range": [], "description": "Do not link with OpenMP library libomp.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mbackslash", "range": [], "description": "Treat backslash in quoted strings like any other character.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mnobackslash", "range": [], "description": "Treat backslash in quoted strings like a C-style escape character (Default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mbyteswapio", "range": [], "description": "Swap byte-order for unformatted input/output.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mfixed", "range": [], "description": "Assume fixed-format source.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mextend", "range": [], "description": "Allow source lines up to 132 characters.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mfreeform", "range": [], "description": "Assume free-format source.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mpreprocess", "range": [], "description": "Run preprocessor for Fortran files.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mrecursive", "range": [], "description": "Generate code to allow recursive subprograms.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mstandard", "range": [], "description": "Check standard conformance.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Msave", "range": [], "description": "Assume all variables have SAVE attribute.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-module", "range": [], "description": "path to module file (-I also works).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mallocatable", "range": [], "description": "Select Fortran 03 semantics for assignments to allocatable objects (Default).", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-static-flang-libs", "range": [], "description": "Link using static Flang libraries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-M[no]daz", "range": [], "description": "Treat denormalized numbers as zero.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-M[no]flushz", "range": [], "description": "Set SSE to flush-to-zero mode.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-Mcache_align", "range": [], "description": "Align large objects on cache-line boundaries.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-M[no]fprelaxed", "range": [], "description": "This option is ignored.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fdefault-integer-8", "range": [], "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fdefault-real-8", "range": [], "description": "Treat REAL as REAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-i8", "range": [], "description": "Treat INTEGER and LOGICAL as INTEGER*8 and LOGICAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-r8", "range": [], "description": "Treat REAL as REAL*8.", "compileName": "BiSheng Compiler" }, { - "gcc_version": "4.0.0", + "gcc_version": "4.1.0", "name": "-fno-fortran-main", "range": [], "description": "Don't link in Fortran main.", "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-Wunsequenced-function", + "range": [], + "description": "BiSheng compiler can generate alarms for undefined behavior of function calls in expressions.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-z odr-detect", + "range": [], + "description": "BiSheng compiler can generate alarms for the undefined behavior of weak symbols that violate the ODR. Only the target files generated by LLVM compilation can be checked. By default, other types of target files are not checked.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-z odr-detect -z odr-detect-for-nonllvm-compiled", + "range": [], + "description": "BiSheng compiler can generate alarms for undefined behaviors of weak symbols that violate the ODR and check target files compiled by non-LLVM compilers.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-fimplicit-none", + "range": [], + "description": "By default, the implicit none function in the Fortran code is enabled. All variables need to be explicitly declared.", + "compileName": "BiSheng Compiler" + }, + { + "gcc_version": "4.1.0", + "name": "-fconversion", + "range": ["warning", "error"], + "description": "It checks whether the Fortran code contains the value assignment operation for type conversion, including the conversion between type and kind.", + "compileName": "BiSheng Compiler" } ], "TeeSecurityFunction": [ @@ -123716,5 +125243,432 @@ "full_name": "int32_t Rcache_PutDasInfo(DasKvParam *params)", "description": "DAS smart prefetch interfaces." } + ], + "DC_fUNCTION": [ + { + "name": "KsalCrc16T10Dif", + "full_name": "uint16_t KsalCrc16T10Dif(uint16_t seed, uint8_t *data, uint64_t len);", + "description": "CRC16 algorithm interfaces.", + "demo_Type": "crc16" + }, + { + "name": "KsalCrc32c", + "full_name": "uint32_t KsalCrc32c(uint32_t seed, uint8_t *data, uint64_t len);", + "description": "CRC32 algorithm interfaces.", + "demo_Type": "crc32" + }, + { + "name": "KsalEcEncode", + "full_name": "int KsalEcEncode(uint8_t **data, uint8_t **parity, struct HecParam *param);", + "description": "EC algorithm interfaces.", + "demo_Type": "erasure_code" + }, + { + "name": "KsalEcDecode", + "full_name": "int KsalEcDecode(uint8_t **data, uint8_t **parity, struct HecParam *param);", + "description": "EC algorithm interfaces.", + "demo_Type": "erasure_code" + }, + { + "name": "glz_compress_default", + "full_name": "int glz_compress_default(const glz_encoder * const glz_encode_state, char *dst_buffer, unsigned dst_size, const char * const src_buffer, unsigned src_size, const encode_model encodeInf, int level);", + "description": "GLZ algorithm compress interfaces.", + "demo_Type": "glz" + }, + { + "name": "glz_decompress_default", + "full_name": "int glz_decompress_default(const glz_encoder * const glz_decode_state, char *dst_buffer, unsigned dst_size, const char * const src_buffer, unsigned src_size, const encode_model encodeInf);", + "description": "GLZ algorithm decompress interfaces.", + "demo_Type": "glz" + }, + { + "name": "glz_encoder *glz_compress_initial", + "full_name": "glz_encoder *glz_compress_initial(long unsigned src_size);", + "description": "GLZ algorithm compress context initializing interfaces.", + "demo_Type": "glz" + }, + { + "name": "glz_compress_delete", + "full_name": "void glz_compress_delete(glz_encoder **glz_state);", + "description": "GLZ algorithm compress context deleting interfaces.", + "demo_Type": "glz" + } + ], + "HCOM_fUNCTION": [ + { + "name": "*ock::hcom::NetService::Instance", + "full_name": "static NetService *ock::hcom::NetService::Instance(NetServiceProtocol t, const std::string &name, bool startOobSvr)", + "description": "Create a service object at the service layer based on the class and name." + }, + { + "name": "ock::hcom::NetService::DestroyInstance", + "full_name": "static SerResult ock::hcom::NetService::DestroyInstance(const std::string &name)", + "description": "Destroy the service. The global map will be cleared and objects will be destroyed based on names." + }, + { + "name": "ock::hcom::NetService::Start", + "full_name": "virtual SerResult ock::hcom::NetService::Start(const NetServiceOptions &opt)", + "description": "Start the service." + }, + { + "name": "ock::hcom::NetService::Stop", + "full_name": "void ock::hcom::NetService::Stop()", + "description": "Stop the service. Related resources will be cleared and internally-started threads will exit." + }, + { + "name": "ock::hcom::NetService::RegisterChannelBrokenHandler", + "full_name": "void ock::hcom::NetService::RegisterChannelBrokenHandler(const NetServiceChannelBrokenHandler &handler, const NetChannelBrokenPolicy policy)", + "description": "Register the network callback function to process the channel interruption event." + }, + { + "name": "ock::hcom::NetService::RegisterOpReceiveHandler", + "full_name": "void ock::hcom::NetService::RegisterOpReceiveHandler(NetChTypeIndex i, const NetServiceReceivedHandler &rcvHandler)", + "description": "Register the callback function to process the message receiving event during asynchronous communication." + }, + { + "name": "ock::hcom::NetService::RegisterOpSentHandler", + "full_name": "void ock::hcom::NetService::RegisterOpSentHandler(NetChTypeIndex i, const NetServiceSentHandler &sentHandler)", + "description": "Register the callback function to process the message sending completion event." + }, + { + "name": "ock::hcom::NetService::RegisterOpOneSideHandler", + "full_name": "void ock::hcom::NetService::RegisterOpOneSideHandler(NetChTypeIndex i, const NetServiceOneSideDoneHandler &oneSideDoneHandler)", + "description": "Register the callback function to process the one-sided read or write completion event." + }, + { + "name": "ock::hcom::NetService::Connect", + "full_name": "virtual SerResult ock::hcom::NetService::Connect(const std::string &oobIpOrName, uint16_t oobPort, const std::string &payload, NetChannelPtr &ch, NetServiceConnectOptions options)", + "description": "Establish a connection with the remote server and return the connection channel." + }, + { + "name": "ock::hcom::NetChannel::Send", + "full_name": "SerResult ock::hcom::NetChannel::Send(const NetServiceOpInfo &opInfo, const NetServiceMessage &req, const NetCallback *done, uintptr_t rspCtx = 0)", + "description": "Send a request containing operation information to the peer end without waiting for a response." + }, + { + "name": "ock::hcom::NetServiceContext::ReplySend", + "full_name": "SerResult ock::hcom::NetServiceContext::ReplySend(const NetServiceOpInfo &opInfo, const NetServiceMessage &msg, const NetCallback *done)", + "description": "In asynchronous mode, send a response message containing operation information without waiting for a response." + }, + { + "name": "ock::hcom::NetChannel::AsyncCall", + "full_name": "SerResult ock::hcom::NetChannel::AsyncCall(const NetServiceOpInfo &opInfo, const NetServiceMessage &req, const NetCallback *done)", + "description": "In asynchronous mode, send a request message and wait for a response." + }, + { + "name": "ock::hcom::NetChannel::SyncCall", + "full_name": "SerResult ock::hcom::NetChannel::SyncCall(const NetServiceOpInfo &reqOpInfo, const NetServiceMessage &req, NetServiceOpInfo &rspOpInfo, NetServiceMessage &rsp)", + "description": "In synchronous mode, send a request message and wait for a response." + }, + { + "name": "ock::hcom::NetService::RegisterMemoryRegion", + "full_name": "SerResult ock::hcom::NetService::RegisterMemoryRegion(uint64_t size, NetMemoryRegionPtr &mr)", + "description": "Register a memory region. The memory will be allocated in HCOM." + }, + { + "name": "ock::hcom::NetService::DestoryMemoryRegion", + "full_name": "void ock::hcom::NetService::DestoryMemoryRegion(NetMemoryRegionPtr &mr)", + "description": "Destroy a memory region. The memory will be allocated in HCOM." + }, + { + "name": "ock::hcom::NetService::Read", + "full_name": "SerResult ock::hcom::NetService::Read(const NetServiceRequest &request, const NetCallback *done)", + "description": "Send a read request to the peer end." + }, + { + "name": "ock::hcom::NetChannel::Write", + "full_name": "SerResult ock::hcom::NetChannel::Write(const NetServiceRequest &request, const NetCallback *done)", + "description": "Send a write request to the peer end." + }, + { + "name": "*ock::hcom::NetService::Instance", + "full_name": "static NetService *ock::hcom::NetService::Instance(const NetServiceOptions &opt,NetServiceProtocol t, const std::string &name, bool startOobSvr)", + "description": "Create a MultiRail Service object at the service layer based on the class and name." + }, + { + "name": "ock::hcom::NetService::RegisterMemoryRegion", + "full_name": "SerResult ock::hcom::NetService::RegisterMemoryRegion(uintptr_t address, uint64_t size, NetServiceMemoryRegionKey &serviceMrKey)", + "description": "Register the memory requested by the user into HCOM." + }, + { + "name": "ock::hcom::NetChannel::Read", + "full_name": "SerResult ock::hcom::NetChannel::Read(const NetServiceRequest &request, NetServiceMemoryRegionKey &serviceMrKey, const NetCallback *done)", + "description": "Send a read request to the peer end." + }, + { + "name": "ock::hcom::NetChannel::Write", + "full_name": "SerResult ock::hcom::NetChannel::Write(const NetServiceRequest &request, NetServiceMemoryRegionKey &serviceMrKey, const NetCallback *done)", + "description": "Send a write request to the peer end." + }, + { + "name": "ock::hcom::NetChannel::SetMemAllocMap", + "full_name": "SerResult ock::hcom::NetChannel::SetMemAllocMap(NetServiceMemoryRegionKey &serviceMrKey)", + "description": "Set the lKey information of the MultiRail Service registration memory on the local end." + }, + { + "name": "*ock::hcom::NetDriver::Instance", + "full_name": "Static NetDriver *ock::hcom::NetDriver::Instance(NetDriverProtocol t,const std::string &name,bool startOobSvr)", + "description": "Generate a Driver instance." + }, + { + "name": "ock::hcom::NetDriver::DestroyInstance", + "full_name": "Static NResult ock::hcom::NetDriver::DestroyInstance(const std::string &name)", + "description": "Destroy the Driver instance." + }, + { + "name": "ock::hcom::NetDriver::Initialize", + "full_name": "virtual NResult ock::hcom::NetDriver::Initialize(const NetDriverOptions &option)", + "description": "Initialize net Driver." + }, + { + "name": "ock::hcom::NetDriver::UnInitialize", + "full_name": "virtual void ock::hcom::NetDriver::UnInitialize()", + "description": "Cancel net Driver initialization." + }, + { + "name": "ock::hcom::NetDriver::Start", + "full_name": "virtual NResult ock::hcom::NetDriver::Start()", + "description": "Run net Driver." + }, + { + "name": "ock::hcom::NetDriver::Stop", + "full_name": "virtual void ock::hcom::NetDriver::Stop()", + "description": "Stop net Driver." + }, + { + "name": "ock::hcom::NetDriver::RegisterNewEPHandler", + "full_name": "void ock::hcom::NetDriver::RegisterNewEPHandler(const NetDriverNewEndPointHandler &handler)", + "description": "Register a callback for the connected new endpoint on the client. The registration is required on the server only." + }, + { + "name": "ock::hcom::NetDriver::RegisterNewReqHandler", + "full_name": "void ock::hcom::NetDriver::RegisterNewReqHandler(const NetDriverReceivedHandler &handler)", + "description": "Register the callback requested by the peer end." + }, + { + "name": "ock::hcom::NetDriver::RegisterOneSideDoneHandler", + "full_name": "void ock::hcom::NetDriver::RegisterOneSideDoneHandler(const NetDriverOneSideDoneHandler &handler)", + "description": "Register a callback for one-sided operation completion." + }, + { + "name": "ock::hcom::NetDriver::RegisterReqPostedHandler", + "full_name": "void ock::hcom::NetDriver::RegisterReqPostedHandler(const NetDriverSentHandler &handler)", + "description": "Register a callback for sending requests to the peer end." + }, + { + "name": "ock::hcom::NetDriver::Connect", + "full_name": "Virtual NResult ock::hcom::NetDriver::Connect(const std::string &oobIpOrName,uint16_t oobPort,const std::string &payload,NetEndpointPtr &ep,uint32_t flags)", + "description": "Establish a connection to the server." + }, + { + "name": "ock::hcom::NetDriver::CreateMemoryRegion", + "full_name": "NResult ock::hcom::NetDriver::CreateMemoryRegion(uint64_t size,NetMemoryRegionPtr &mr)", + "description": "Register a memory region. The memory will be allocated in HCOM." + }, + { + "name": "ock::hcom::NetDriver::CreateMemoryRegion", + "full_name": "NResult ock::hcom::NetDriver::CreateMemoryRegion(uintptr_t address,uint64_t size,NetMemoryRegionPtr &mr)", + "description": "Register a memory region. The memory needs to be transferred from external systems." + }, + { + "name": "ock::hcom::NetDriver::CreateMemoryRegion", + "full_name": "void ock::hcom::NetDriver::CreateMemoryRegion(NetMemoryRegionPtr &mr)", + "description": "Deregister a memory region." + }, + { + "name": "ock::hcom::NetEndpoint::PostSend", + "full_name": "NResult ock::hcom::NetEndpoint::PostSend(uint16_t opCode,const NetTransRequest &request)", + "description": "Send a request with opCode and header to the peer end. The peer end will trigger a new request callback with opCode and header." + }, + { + "name": "ock::hcom::NetEndpoint::PostSend", + "full_name": "NResult ock::hcom::NetEndpoint::PostSend(uint16_t opCode,const NetTransRequest &request,uint32_t seqNo)", + "description": "Send a request with opCode and header to the peer end and customize seqNo. The peer end will trigger a new request callback with opCode and header." + }, + { + "name": "ock::hcom::NetEndpoint::PostSendRaw", + "full_name": "NResult ock::hcom::NetEndpoint::PostSendRaw(const NetTransRequest &request,uint32_t seqNo)", + "description": "Send a request without header to the peer end and customize seqNo. The peer end will trigger a new request callback without header." + }, + { + "name": "ock::hcom::NetEndpoint::PostWrite", + "full_name": "NResult ock::hcom::NetEndpoint::PostWrite(const NetTransRequest &request)", + "description": "Send a one-sided write request to the peer end. The peer end does not trigger a callback." + }, + { + "name": "ock::hcom::NetEndpoint::PostRead", + "full_name": "NResult ock::hcom::NetEndpoint::PostRead(const NetTransRequest &request)", + "description": "Send a one-sided read request to the peer end. The peer end does not trigger a callback." + }, + { + "name": "ock::hcom::NetEndpoint::Receive", + "full_name": "NResult ock::hcom::NetEndpoint::Receive(NetResponseContext &ctx)", + "description": "Obtain the response to the sent request. This function takes effect upon timeout by default." + }, + { + "name": "ock::hcom::NetEndpoint::ReceiveRaw", + "full_name": "NResult ock::hcom::NetEndpoint::ReceiveRaw(NetResponseContext &ctx)", + "description": "Obtain the response to the sent request. The response does not contain opCode and header. This function takes effect upon timeout by default." + }, + { + "name": "ock::hcom::NetEndpoint::WaitCompletion", + "full_name": "NResult ock::hcom::NetEndpoint::WaitCompletion(int32_t timeout)", + "description": "Wait for the completion of sending, reading, or writing. This function is used only when NET_EP_SELF_POLLING is set." + }, + { + "name": "Service_Create", + "full_name": "int Service_Create(Service_Type t, const char *name, uint8_t startOobSvr, Net_Service *service)", + "description": "Create a service object at the service layer based on the class and name." + }, + { + "name": "Service_RegisterChannelHandler", + "full_name": "uintptr_t Service_RegisterChannelHandler(Net_Service service, Service_HandlerType t, Service_ChannelHandler h, Service_ChannelPolicy policy, uint64_t usrCtx)", + "description": "Register the callback function of the channel to process channel connection setup and disconnection events." + }, + { + "name": "Service_RegisterOpHandler", + "full_name": "uintptr_t Service_RegisterOpHandler(Net_Service service, uint16_t i, Service_OpHandlerType t, Service_RequestHandler h, uint64_t usrCtx)", + "description": "Register the callback function to process two-sided sending completion, one-sided sending completion, and two-sided message receiving events in the channel." + }, + { + "name": "Service_Connect", + "full_name": "int Service_Connect(Net_Service service, const char *oobIpOrName, uint16_t oobPort, const char *payload, Net_Channel *channel, Service_ConnectOpt *options)", + "description": "Establish a connection to the remote server and return the connection channel." + }, + { + "name": "Channel_PostSend", + "full_name": "int Channel_PostSend(Net_Channel channel, Service_OpInfo *opInfo, Service_Message *message, Channel_Callback *cb)", + "description": "Send a request containing operation information to the peer end and do not wait for a response." + }, + { + "name": "Channel_PostResponse", + "full_name": "int Channel_PostResponse(Net_Channel channel, Service_RspCtx rspCtx, Service_OpInfo *opInfo, Service_Message *message, Channel_Callback *cb)", + "description": "In asynchronous mode, send a response message containing operation information and do not wait for a response." + }, + { + "name": "Channel_SyncCall", + "full_name": "int Channel_SyncCall(Net_Channel channel, Service_OpInfo *reqInfo, Service_Message *req, Service_OpInfo *rspInfo, Service_Message *rsp)", + "description": "In synchronous mode, send a request message and wait for a response." + }, + { + "name": "Channel_AsyncCall", + "full_name": "int Channel_AsyncCall(Net_Channel channel, Service_OpInfo *opInfo, Service_Message *req, Channel_Callback *cb)", + "description": "In asynchronous mode, send a request message and wait for a response." + }, + { + "name": "Service_RegisterMemoryRegion", + "full_name": "int Service_RegisterMemoryRegion(Net_Service service, uint64_t size, Service_MemoryRegion *mr)", + "description": "Register a memory region. The memory will be allocated in HCOM." + }, + { + "name": "Service_DestroyMemoryRegion", + "full_name": "void Service_DestroyMemoryRegion(Net_Service service, Service_MemoryRegion mr)", + "description": "Destroy a memory region. The memory will be allocated in HCOM." + }, + { + "name": "Channel_Read", + "full_name": "int Channel_Read(Net_Channel channel, Service_Request *req, Channel_Callback *cb)", + "description": "Send a read request to the peer end." + }, + { + "name": "Channel_Write", + "full_name": "int Channel_Write(Net_Channel channel, Service_Request *req, Channel_Callback *cb)", + "description": "Send a write request to the peer end." + }, + { + "name": "Service_Stop", + "full_name": "void Service_Stop(Net_Service service)", + "description": "Stop the service. Related resources will be cleared and internally-started threads will exit." + }, + { + "name": "Service_Destroy", + "full_name": "void Service_Destroy(Net_Service service)", + "description": "Destroy the service. The global map will be cleared and objects will be destroyed based on names." + }, + { + "name": "Service_Create", + "full_name": "int Service_Create(Service_Type t, Service_Options options, const char *name, uint8_t startOobSvr, Net_Service *service)", + "description": "Create a service object at the service layer based on the class and name." + }, + { + "name": "Service_MultiRailRegisterAssignMemoryRegion", + "full_name": "int Service_MultiRailRegisterAssignMemoryRegion(Net_Service service, uintptr_t address, uint64_t size, Service_MemoryRegionKey *serviceMrKey)", + "description": "Register the memory requested by the user into HCOM." + }, + { + "name": "Channel_MultiRailRead", + "full_name": "int Channel_MultiRailRead(Net_Channel channel, Service_Request *req, Service_MemoryRegionKey *serverMrKey, Channel_Callback *cb)", + "description": "Send a read request to the peer end." + }, + { + "name": "Channel_MultiRailWrite", + "full_name": "int Channel_MultiRailWrite(Net_Channel channel, Service_Request *req, Service_MemoryRegionKey *serverMrKey, Channel_Callback *cb)", + "description": "Send a write request to the peer end." + }, + { + "name": "Channel_SetMemAllocMap", + "full_name": "void Channel_SetMemAllocMap(Net_Channel channel, Service_MemoryRegionKey *serviceMrKey)", + "description": "Set the lKey information of the MultiRail Service registration memory on the local end." + }, + { + "name": "Net_DriverCreate", + "full_name": "int Net_DriverCreate(Net_DriverType t, const char *name, uint8_t startOobSvr, Net_Driver *driver)", + "description": "Create a Driver object at the transport layer based on the class and name." + }, + { + "name": "Net_DriverInitialize", + "full_name": "int Net_DriverInitialize(Net_Driver driver, Net_DriverOptions options)", + "description": "Create a Driver object at the transport layer based on the class and name." + }, + { + "name": "Net_DriverStart", + "full_name": "int Net_DriverStart(Net_Driver driver)", + "description": "Create a Driver object at the transport layer based on the class and name." + }, + { + "name": "Net_DriverRegisterEpHandler", + "full_name": "uintptr_t Net_DriverRegisterEpHandler(Net_Driver driver, Net_EPHandlerType t, Net_EPHandler h, uint64_t usrCtx)", + "description": "Register the callback function of endpoints to process endpoint connection setup and disconnection events." + }, + { + "name": "Net_DriverRegisterOpHandler", + "full_name": "uintptr_t Net_DriverRegisterOpHandler(Net_Driver driver, Net_OpHandlerType t, Net_RequestHandler h, uint64_t usrCtx)", + "description": "Register the callback function to process two-sided sending completion, one-sided sending completion, and two-sided message receiving events in the channel." + }, + { + "name": "Net_DriverConnect", + "full_name": "int Net_DriverConnect(Net_Driver driver, const char *payloadData, Net_EndPoint *ep, uint32_t flags)", + "description": "Establish a connection to the remote server and return the endpoint created by the connection." + }, + { + "name": "Net_EPPostSend", + "full_name": "int Net_EPPostSend(Net_EndPoint ep, uint16_t opcode, Net_SendRequest *req)", + "description": "Send a request containing operation information to the peer end." + }, + { + "name": "Net_EPPostRead", + "full_name": "int Net_EPPostRead(Net_EndPoint ep, Net_ReadWriteRequest *req)", + "description": "Send a read request to the peer end." + }, + { + "name": "Net_EPPostWrite", + "full_name": "int Net_EPPostWrite(Net_EndPoint ep, Net_ReadWriteRequest *req)", + "description": "Send a write request to the peer end." + }, + { + "name": "Net_DriverStop", + "full_name": "void Net_DriverStop(Net_Driver driver)", + "description": "Stop the service and internally-started threads." + }, + { + "name": "Net_DriverUnInitialize", + "full_name": "void Net_DriverUnInitialize(Net_Driver driver)", + "description": "Clear related resources involved in the service creation." + }, + { + "name": "Net_DriverDestroy", + "full_name": "void Net_DriverDestroy(Net_Driver driver)", + "description": "Destroy the driver." + } ] } \ No newline at end of file