[flang-commits] [flang] d421a6c - [flang][driver] Remove `flang -help` tests (#89504)
via flang-commits
flang-commits at lists.llvm.org
Wed Apr 24 11:47:32 PDT 2024
Author: Andrzej WarzyĆski
Date: 2024-04-24T19:47:28+01:00
New Revision: d421a6c9ef1dd286832fce3b4f955d4ba99ce192
URL: https://github.com/llvm/llvm-project/commit/d421a6c9ef1dd286832fce3b4f955d4ba99ce192
DIFF: https://github.com/llvm/llvm-project/commit/d421a6c9ef1dd286832fce3b4f955d4ba99ce192.diff
LOG: [flang][driver] Remove `flang -help` tests (#89504)
These tests were introduced when the Flang driver was originally
incepted. Back then, `flang-new` only supported a handful of basic
options (e.g. `-v`, `-help`, `-E`) and those `-help` tests were used to
guard against Clang options "leaking" into `flang-new -help`.
With the introduction of the concept of "visibility" (see
https://reviews.llvm.org/D157837 and https://reviews.llvm.org/D157151),
these tests are effectively redundant. Also, with the number of flags
growing, these tests are getting rather brittle.
Added:
Modified:
flang/test/Driver/driver-help.f90
Removed:
flang/test/Driver/driver-help-hidden.f90
################################################################################
diff --git a/flang/test/Driver/driver-help-hidden.f90 b/flang/test/Driver/driver-help-hidden.f90
deleted file mode 100644
index b5bb0f1c1b2560..00000000000000
--- a/flang/test/Driver/driver-help-hidden.f90
+++ /dev/null
@@ -1,173 +0,0 @@
-
-!--------------------------
-! FLANG DRIVER (flang-new)
-!--------------------------
-! RUN: %flang --help-hidden 2>&1 | FileCheck %s
-! RUN: not %flang -help-hidden 2>&1 | FileCheck %s --check-prefix=ERROR-FLANG
-
-!----------------------------------------
-! FLANG FRONTEND DRIVER (flang-new -fc1)
-!----------------------------------------
-! RUN: not %flang_fc1 --help-hidden 2>&1 | FileCheck %s --check-prefix=ERROR-FLANG-FC1
-! RUN: not %flang_fc1 -help-hidden 2>&1 | FileCheck %s --check-prefix=ERROR-FLANG-FC1
-
-! CHECK:USAGE: flang-new
-! CHECK-EMPTY:
-! CHECK-NEXT: DRIVER OPTIONS:
-! CHECK-NEXT: --driver-mode=<value> Set the driver mode to either 'gcc', 'g++', 'cpp', 'cl' or 'flang'
-! CHECK-EMPTY:
-! CHECK-NEXT:OPTIONS:
-! CHECK-NEXT: -### Print (but do not run) the commands to run for this compilation
-! CHECK-NEXT: -ccc-print-phases Dump list of actions to perform
-! CHECK-NEXT: -cpp Enable predefined and command line preprocessor macros
-! CHECK-NEXT: -c Only run preprocess, compile, and assemble steps
-! CHECK-NEXT: -dM Print macro definitions in -E mode instead of normal output
-! CHECK-NEXT: -dumpmachine Display the compiler's target processor
-! CHECK-NEXT: -dumpversion Display the version of the compiler
-! CHECK-NEXT: -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-! CHECK-NEXT: -emit-llvm Use the LLVM representation for assembler and object files
-! CHECK-NEXT: -E Only run the preprocessor
-! CHECK-NEXT: -falternative-parameter-statement
-! CHECK-NEXT: Enable the old style PARAMETER statement
-! CHECK-NEXT: -fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-! CHECK-NEXT: -fbackslash Specify that backslash in string introduces an escape character
-! CHECK-NEXT: -fcolor-diagnostics Enable colors in diagnostics
-! CHECK-NEXT: -fconvert=<value> Set endian conversion of data for unformatted files
-! CHECK-NEXT: -fdefault-double-8 Set the default double precision kind to an 8 byte wide type
-! CHECK-NEXT: -fdefault-integer-8 Set the default integer and logical kind to an 8 byte wide type
-! CHECK-NEXT: -fdefault-real-8 Set the default real kind to an 8 byte wide type
-! CHECK-NEXT: -ffast-math Allow aggressive, lossy floating-point optimizations
-! CHECK-NEXT: -ffixed-form Process source files in fixed form
-! CHECK-NEXT: -ffixed-line-length=<value>
-! CHECK-NEXT: Use <value> as character line width in fixed mode
-! CHECK-NEXT: -ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-! CHECK-NEXT: -ffree-form Process source files in free form
-! CHECK-NEXT: -fhonor-infinities Specify that floating-point optimizations are not allowed that assume arguments and results are not +-inf.
-! CHECK-NEXT: -fhonor-nans Specify that floating-point optimizations are not allowed that assume arguments and results are not NANs.
-! CHECK-NEXT: -fimplicit-none No implicit typing allowed unless overridden by IMPLICIT statements
-! CHECK-NEXT: -finput-charset=<value> Specify the default character set for source files
-! CHECK-NEXT: -fintegrated-as Enable the integrated assembler
-! CHECK-NEXT: -fintrinsic-modules-path <dir>
-! CHECK-NEXT: Specify where to find the compiled intrinsic modules
-! CHECK-NEXT: -flang-deprecated-no-hlfir
-! CHECK-NEXT: Do not use HLFIR lowering (deprecated)
-! CHECK-NEXT: -flang-experimental-hlfir
-! CHECK-NEXT: Use HLFIR lowering (experimental)
-! CHECK-NEXT: -flarge-sizes Use INTEGER(KIND=8) for the result type in size-related intrinsics
-! CHECK-NEXT: -flogical-abbreviations Enable logical abbreviations
-! CHECK-NEXT: -flto=auto Enable LTO in 'full' mode
-! CHECK-NEXT: -flto=jobserver Enable LTO in 'full' mode
-! CHECK-NEXT: -flto=<value> Set LTO mode
-! CHECK-NEXT: -flto Enable LTO in 'full' mode
-! CHECK-NEXT: -fms-runtime-lib=<value>
-! CHECK-NEXT: Select Windows run-time library
-! CHECK-NEXT: -fno-automatic Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE
-! CHECK-NEXT: -fno-color-diagnostics Disable colors in diagnostics
-! CHECK-NEXT: -fno-fortran-main Do not include Fortran_main.a (provided by Flang) when linking
-! CHECK-NEXT: -fno-integrated-as Disable the integrated assembler
-! CHECK-NEXT: -fno-lto Disable LTO mode (default)
-! CHECK-NEXT: -fno-ppc-native-vector-element-order
-! CHECK-NEXT: Specifies PowerPC non-native vector element order
-! CHECK-NEXT: -fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags. When --hip-link is specified, do not add -rpath with HIP runtime library directory to the linker flags
-! CHECK-NEXT: -fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-! CHECK-NEXT: -fno-stack-arrays Allocate array temporaries on the heap (default)
-! CHECK-NEXT: -fno-version-loops-for-stride
-! CHECK-NEXT: Do not create unit-strided loops (default)
-! CHECK-NEXT: -fomit-frame-pointer Omit the frame pointer from functions that don't need it. Some stack unwinding cases, such as profilers and sanitizers, may prefer specifying -fno-omit-frame-pointer. On many targets, -O1 and higher omit the frame pointer by default. -m[no-]omit-leaf-frame-pointer takes precedence for leaf functions
-! CHECK-NEXT: -fopenacc Enable OpenACC
-! CHECK-NEXT: -fopenmp-assume-no-nested-parallelism
-! CHECK-NEXT: Assert no nested parallel regions in the GPU
-! CHECK-NEXT: -fopenmp-assume-no-thread-state
-! CHECK-NEXT: Assert no thread in a parallel region modifies an ICV
-! CHECK-NEXT: -fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-! CHECK-NEXT: -fopenmp-targets=<value>
-! CHECK-NEXT: Specify comma-separated list of triples OpenMP offloading targets to be supported
-! CHECK-NEXT: -fopenmp-version=<value>
-! CHECK-NEXT: Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). Default value is 11 for Flang
-! CHECK-NEXT: -fopenmp Parse OpenMP pragmas and generate parallel code.
-! CHECK-NEXT: -foptimization-record-file=<file>
-! CHECK-NEXT: Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-! CHECK-NEXT: -foptimization-record-passes=<regex>
-! CHECK-NEXT: Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-! CHECK-NEXT: -fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-! CHECK-NEXT: -fppc-native-vector-element-order
-! CHECK-NEXT: Specifies PowerPC native vector element order (default)
-! CHECK-NEXT: -freciprocal-math Allow division operations to be reassociated
-! CHECK-NEXT: -fropi Generate read-only position independent code (ARM only)
-! CHECK-NEXT: -frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags. When --hip-link is specified, also add -rpath with HIP runtime library directory to the linker flags
-! CHECK-NEXT: -frwpi Generate read-write position independent code (ARM only)
-! CHECK-NEXT: -fsave-optimization-record=<format>
-! CHECK-NEXT: Generate an optimization record file in a specific format
-! CHECK-NEXT: -fsave-optimization-record
-! CHECK-NEXT: Generate a YAML optimization record file
-! CHECK-NEXT: -fstack-arrays Attempt to allocate array temporaries on the stack, no matter their size
-! CHECK-NEXT: -fsyntax-only Run the preprocessor, parser and semantic analysis stages
-! CHECK-NEXT: -funderscoring Appends one trailing underscore to external names
-! CHECK-NEXT: -fveclib=<value> Use the given vector functions library
-! CHECK-NEXT: -fversion-loops-for-stride
-! CHECK-NEXT: Create unit-strided versions of loops
-! CHECK-NEXT: -fxor-operator Enable .XOR. as a synonym of .NEQV.
-! CHECK-NEXT: --gcc-install-dir=<value>
-! CHECK-NEXT: Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
-! CHECK-NEXT: --gcc-toolchain=<value> Specify a directory where Flang can find 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Flang will use the GCC installation with the largest version
-! CHECK-NEXT: -gline-directives-only Emit debug line info directives only
-! CHECK-NEXT: -gline-tables-only Emit debug line number tables only
-! CHECK-NEXT: -gpulibc Link the LLVM C Library for GPUs
-! CHECK-NEXT: -g Generate source-level debug information
-! CHECK-NEXT: --help-hidden Display help for hidden options
-! CHECK-NEXT: -help Display available options
-! CHECK-NEXT: -isysroot <dir> Set the system root directory (usually /)
-! CHECK-NEXT: -I <dir> Add directory to the end of the list of include search paths
-! CHECK-NEXT: -L <dir> Add directory to library search path
-! CHECK-NEXT: -march=<value> For a list of available architectures for the target use '-mcpu=help'
-! CHECK-NEXT: -mcode-object-version=<value>
-! CHECK-NEXT: Specify code object ABI version. Defaults to 5. (AMDGPU only)
-! CHECK-NEXT: -mcpu=<value> For a list of available CPUs for the target use '-mcpu=help'
-! CHECK-NEXT: -mllvm=<arg> Alias for -mllvm
-! CHECK-NEXT: -mllvm <value> Additional arguments to forward to LLVM's option processing
-! CHECK-NEXT: -mmlir <value> Additional arguments to forward to MLIR's option processing
-! CHECK-NEXT: -mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-! CHECK-NEXT: -module-dir <dir> Put MODULE files in <dir>
-! CHECK-NEXT: -moutline-atomics Generate local calls to out-of-line atomic operations
-! CHECK-NEXT: -mrvv-vector-bits=<value>
-! CHECK-NEXT: Specify the size in bits of an RVV vector register
-! CHECK-NEXT: -msve-vector-bits=<value>
-! CHECK-NEXT: Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-! CHECK-NEXT: --no-offload-arch=<value>
-! CHECK-NEXT: Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
-! CHECK-NEXT: -nocpp Disable predefined and command line preprocessor macros
-! CHECK-NEXT: -nogpulib Do not link device library for CUDA/HIP device compilation
-! CHECK-NEXT: --offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
-! CHECK-NEXT: --offload-device-only Only compile for the offloading device.
-! CHECK-NEXT: --offload-host-device Compile for both the offloading host and device (default).
-! CHECK-NEXT: --offload-host-only Only compile for the offloading host.
-! CHECK-NEXT: -o <file> Write output to <file>
-! CHECK-NEXT: -pedantic Warn on language extensions
-! CHECK-NEXT: -print-effective-triple Print the effective target triple
-! CHECK-NEXT: -print-target-triple Print the normalized target triple
-! CHECK-NEXT: -pthread Support POSIX threads in generated code
-! CHECK-NEXT: -P Disable linemarker output in -E mode
-! CHECK-NEXT: -resource-dir <value> The directory which holds the compiler resource files
-! CHECK-NEXT: --rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-! CHECK-NEXT: -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-! CHECK-NEXT: -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-! CHECK-NEXT: -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-! CHECK-NEXT: -R<remark> Enable the specified remark
-! CHECK-NEXT: -save-temps=<value> Save intermediate compilation results.
-! CHECK-NEXT: -save-temps Alias for --save-temps=cwd
-! CHECK-NEXT: -std=<value> Language standard to compile for
-! CHECK-NEXT: -S Only run preprocess and compilation steps
-! CHECK-NEXT: --target=<value> Generate code for the given target
-! CHECK-NEXT: -U <macro> Undefine macro <macro>
-! CHECK-NEXT: --version Print version information
-! CHECK-NEXT: -v Show commands to run and use verbose output
-! CHECK-NEXT: -Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-! CHECK-NEXT: -W<warning> Enable the specified warning
-! CHECK-NEXT: -Xflang <arg> Pass <arg> to the flang compiler
-! CHECK-NEXT: -x <language> Treat subsequent input files as having type <language>
-
-
-! ERROR-FLANG: error: unknown argument '-help-hidden'; did you mean '--help-hidden'?
-
-! Frontend driver -help-hidden is not supported
-! ERROR-FLANG-FC1: error: unknown argument: '{{.*}}'
diff --git a/flang/test/Driver/driver-help.f90 b/flang/test/Driver/driver-help.f90
index 0b0a493baf07f7..4c3609db80b9ac 100644
--- a/flang/test/Driver/driver-help.f90
+++ b/flang/test/Driver/driver-help.f90
@@ -1,298 +1,15 @@
-
-!--------------------------
-! FLANG DRIVER (flang)
-!--------------------------
! RUN: %flang -help 2>&1 | FileCheck %s --check-prefix=HELP
! RUN: not %flang -helps 2>&1 | FileCheck %s --check-prefix=ERROR
-!----------------------------------------
-! FLANG FRONTEND DRIVER (flang -fc1)
-!----------------------------------------
! RUN: %flang_fc1 -help 2>&1 | FileCheck %s --check-prefix=HELP-FC1
! RUN: not %flang_fc1 -helps 2>&1 | FileCheck %s --check-prefix=ERROR
! HELP:USAGE: flang
! HELP-EMPTY:
! HELP-NEXT:OPTIONS:
-! HELP-NEXT: -### Print (but do not run) the commands to run for this compilation
-! HELP-NEXT: -cpp Enable predefined and command line preprocessor macros
-! HELP-NEXT: -c Only run preprocess, compile, and assemble steps
-! HELP-NEXT: -dM Print macro definitions in -E mode instead of normal output
-! HELP-NEXT: -dumpmachine Display the compiler's target processor
-! HELP-NEXT: -dumpversion Display the version of the compiler
-! HELP-NEXT: -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-! HELP-NEXT: -emit-llvm Use the LLVM representation for assembler and object files
-! HELP-NEXT: -E Only run the preprocessor
-! HELP-NEXT: -falternative-parameter-statement
-! HELP-NEXT: Enable the old style PARAMETER statement
-! HELP-NEXT: -fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-! HELP-NEXT: -fbackslash Specify that backslash in string introduces an escape character
-! HELP-NEXT: -fcolor-diagnostics Enable colors in diagnostics
-! HELP-NEXT: -fconvert=<value> Set endian conversion of data for unformatted files
-! HELP-NEXT: -fdefault-double-8 Set the default double precision kind to an 8 byte wide type
-! HELP-NEXT: -fdefault-integer-8 Set the default integer and logical kind to an 8 byte wide type
-! HELP-NEXT: -fdefault-real-8 Set the default real kind to an 8 byte wide type
-! HELP-NEXT: -ffast-math Allow aggressive, lossy floating-point optimizations
-! HELP-NEXT: -ffixed-form Process source files in fixed form
-! HELP-NEXT: -ffixed-line-length=<value>
-! HELP-NEXT: Use <value> as character line width in fixed mode
-! HELP-NEXT: -ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-! HELP-NEXT: -ffree-form Process source files in free form
-! HELP-NEXT: -fhonor-infinities Specify that floating-point optimizations are not allowed that assume arguments and results are not +-inf.
-! HELP-NEXT: -fhonor-nans Specify that floating-point optimizations are not allowed that assume arguments and results are not NANs.
-! HELP-NEXT: -fimplicit-none No implicit typing allowed unless overridden by IMPLICIT statements
-! HELP-NEXT: -finput-charset=<value> Specify the default character set for source files
-! HELP-NEXT: -fintegrated-as Enable the integrated assembler
-! HELP-NEXT: -fintrinsic-modules-path <dir>
-! HELP-NEXT: Specify where to find the compiled intrinsic modules
-! HELP-NEXT: -flarge-sizes Use INTEGER(KIND=8) for the result type in size-related intrinsics
-! HELP-NEXT: -flogical-abbreviations Enable logical abbreviations
-! HELP-NEXT: -flto=auto Enable LTO in 'full' mode
-! HELP-NEXT: -flto=jobserver Enable LTO in 'full' mode
-! HELP-NEXT: -flto=<value> Set LTO mode
-! HELP-NEXT: -flto Enable LTO in 'full' mode
-! HELP-NEXT: -fms-runtime-lib=<value>
-! HELP-NEXT: Select Windows run-time library
-! HELP-NEXT: -fno-automatic Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE
-! HELP-NEXT: -fno-color-diagnostics Disable colors in diagnostics
-! HELP-NEXT: -fno-fortran-main Do not include Fortran_main.a (provided by Flang) when linking
-! HELP-NEXT: -fno-integrated-as Disable the integrated assembler
-! HELP-NEXT: -fno-lto Disable LTO mode (default)
-! HELP-NEXT: -fno-ppc-native-vector-element-order
-! HELP-NEXT: Specifies PowerPC non-native vector element order
-! HELP-NEXT: -fno-rtlib-add-rpath Do not add -rpath with architecture-specific resource directory to the linker flags. When --hip-link is specified, do not add -rpath with HIP runtime library directory to the linker flags
-! HELP-NEXT: -fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-! HELP-NEXT: -fno-stack-arrays Allocate array temporaries on the heap (default)
-! HELP-NEXT: -fno-version-loops-for-stride
-! HELP-NEXT: Do not create unit-strided loops (default)
-! HELP-NEXT: -fomit-frame-pointer Omit the frame pointer from functions that don't need it. Some stack unwinding cases, such as profilers and sanitizers, may prefer specifying -fno-omit-frame-pointer. On many targets, -O1 and higher omit the frame pointer by default. -m[no-]omit-leaf-frame-pointer takes precedence for leaf functions
-! HELP-NEXT: -fopenacc Enable OpenACC
-! HELP-NEXT: -fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-! HELP-NEXT: -fopenmp-targets=<value>
-! HELP-NEXT: Specify comma-separated list of triples OpenMP offloading targets to be supported
-! HELP-NEXT: -fopenmp-version=<value>
-! HELP-NEXT: Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). Default value is 11 for Flang
-! HELP-NEXT: -fopenmp Parse OpenMP pragmas and generate parallel code.
-! HELP-NEXT: -foptimization-record-file=<file>
-! HELP-NEXT: Specify the output name of the file containing the optimization remarks. Implies -fsave-optimization-record. On Darwin platforms, this cannot be used with multiple -arch <arch> options.
-! HELP-NEXT: -foptimization-record-passes=<regex>
-! HELP-NEXT: Only include passes which match a specified regular expression in the generated optimization record (by default, include all passes)
-! HELP-NEXT: -fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-! HELP-NEXT: -fppc-native-vector-element-order
-! HELP-NEXT: Specifies PowerPC native vector element order (default)
-! HELP-NEXT: -freciprocal-math Allow division operations to be reassociated
-! HELP-NEXT: -fropi Generate read-only position independent code (ARM only)
-! HELP-NEXT: -frtlib-add-rpath Add -rpath with architecture-specific resource directory to the linker flags. When --hip-link is specified, also add -rpath with HIP runtime library directory to the linker flags
-! HELP-NEXT: -frwpi Generate read-write position independent code (ARM only)
-! HELP-NEXT: -fsave-optimization-record=<format>
-! HELP-NEXT: Generate an optimization record file in a specific format
-! HELP-NEXT: -fsave-optimization-record
-! HELP-NEXT: Generate a YAML optimization record file
-! HELP-NEXT: -fstack-arrays Attempt to allocate array temporaries on the stack, no matter their size
-! HELP-NEXT: -fsyntax-only Run the preprocessor, parser and semantic analysis stages
-! HELP-NEXT: -funderscoring Appends one trailing underscore to external names
-! HELP-NEXT: -fveclib=<value> Use the given vector functions library
-! HELP-NEXT: -fversion-loops-for-stride
-! HELP-NEXT: Create unit-strided versions of loops
-! HELP-NEXT: -fxor-operator Enable .XOR. as a synonym of .NEQV.
-! HELP-NEXT: --gcc-install-dir=<value>
-! HELP-NEXT: Use GCC installation in the specified directory. The directory ends with path components like 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Note: executables (e.g. ld) used by the compiler are not overridden by the selected GCC installation
-! HELP-NEXT: --gcc-toolchain=<value> Specify a directory where Flang can find 'lib{,32,64}/gcc{,-cross}/$triple/$version'. Flang will use the GCC installation with the largest version
-! HELP-NEXT: -gline-directives-only Emit debug line info directives only
-! HELP-NEXT: -gline-tables-only Emit debug line number tables only
-! HELP-NEXT: -gpulibc Link the LLVM C Library for GPUs
-! HELP-NEXT: -g Generate source-level debug information
-! HELP-NEXT: --help-hidden Display help for hidden options
-! HELP-NEXT: -help Display available options
-! HELP-NEXT: -isysroot <dir> Set the system root directory (usually /)
-! HELP-NEXT: -I <dir> Add directory to the end of the list of include search paths
-! HELP-NEXT: -L <dir> Add directory to library search path
-! HELP-NEXT: -march=<value> For a list of available architectures for the target use '-mcpu=help'
-! HELP-NEXT: -mcode-object-version=<value>
-! HELP-NEXT: Specify code object ABI version. Defaults to 5. (AMDGPU only)
-! HELP-NEXT: -mcpu=<value> For a list of available CPUs for the target use '-mcpu=help'
-! HELP-NEXT: -mllvm=<arg> Alias for -mllvm
-! HELP-NEXT: -mllvm <value> Additional arguments to forward to LLVM's option processing
-! HELP-NEXT: -mmlir <value> Additional arguments to forward to MLIR's option processing
-! HELP-NEXT: -mno-outline-atomics Don't generate local calls to out-of-line atomic operations
-! HELP-NEXT: -module-dir <dir> Put MODULE files in <dir>
-! HELP-NEXT: -moutline-atomics Generate local calls to out-of-line atomic operations
-! HELP-NEXT: -mrvv-vector-bits=<value>
-! HELP-NEXT: Specify the size in bits of an RVV vector register
-! HELP-NEXT: -msve-vector-bits=<value>
-! HELP-NEXT: Specify the size in bits of an SVE vector register. Defaults to the vector length agnostic value of "scalable". (AArch64 only)
-! HELP-NEXT: --no-offload-arch=<value>
-! HELP-NEXT: Remove CUDA/HIP offloading device architecture (e.g. sm_35, gfx906) from the list of devices to compile for. 'all' resets the list to its default value.
-! HELP-NEXT: -nocpp Disable predefined and command line preprocessor macros
-! HELP-NEXT: -nogpulib Do not link device library for CUDA/HIP device compilation
-! HELP-NEXT: --offload-arch=<value> Specify an offloading device architecture for CUDA, HIP, or OpenMP. (e.g. sm_35). If 'native' is used the compiler will detect locally installed architectures. For HIP offloading, the device architecture can be followed by target ID features delimited by a colon (e.g. gfx908:xnack+:sramecc-). May be specified more than once.
-! HELP-NEXT: --offload-device-only Only compile for the offloading device.
-! HELP-NEXT: --offload-host-device Compile for both the offloading host and device (default).
-! HELP-NEXT: --offload-host-only Only compile for the offloading host.
-! HELP-NEXT: -o <file> Write output to <file>
-! HELP-NEXT: -pedantic Warn on language extensions
-! HELP-NEXT: -print-effective-triple Print the effective target triple
-! HELP-NEXT: -print-target-triple Print the normalized target triple
-! HELP-NEXT: -pthread Support POSIX threads in generated code
-! HELP-NEXT: -P Disable linemarker output in -E mode
-! HELP-NEXT: --rocm-path=<value> ROCm installation path, used for finding and automatically linking required bitcode libraries.
-! HELP-NEXT: -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-! HELP-NEXT: -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-! HELP-NEXT: -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-! HELP-NEXT: -R<remark> Enable the specified remark
-! HELP-NEXT: -save-temps=<value> Save intermediate compilation results.
-! HELP-NEXT: -save-temps Alias for --save-temps=cwd
-! HELP-NEXT: -std=<value> Language standard to compile for
-! HELP-NEXT: -S Only run preprocess and compilation steps
-! HELP-NEXT: --target=<value> Generate code for the given target
-! HELP-NEXT: -U <macro> Undefine macro <macro>
-! HELP-NEXT: --version Print version information
-! HELP-NEXT: -v Show commands to run and use verbose output
-! HELP-NEXT: -Wl,<arg> Pass the comma separated arguments in <arg> to the linker
-! HELP-NEXT: -W<warning> Enable the specified warning
-! HELP-NEXT: -Xflang <arg> Pass <arg> to the flang compiler
-! HELP-NEXT: -x <language> Treat subsequent input files as having type <language>
-
! HELP-FC1:USAGE: flang
! HELP-FC1-EMPTY:
! HELP-FC1-NEXT:OPTIONS:
-! HELP-FC1-NEXT: -cpp Enable predefined and command line preprocessor macros
-! HELP-FC1-NEXT: --dependent-lib=<value> Add dependent library
-! HELP-FC1-NEXT: -dM Print macro definitions in -E mode instead of normal output
-! HELP-FC1-NEXT: -D <macro>=<value> Define <macro> to <value> (or 1 if <value> omitted)
-! HELP-FC1-NEXT: -emit-fir Build the parse tree, then lower it to FIR
-! HELP-FC1-NEXT: -emit-hlfir Build the parse tree, then lower it to HLFIR
-! HELP-FC1-NEXT: -emit-llvm-bc Build ASTs then convert to LLVM, emit .bc file
-! HELP-FC1-NEXT: -emit-llvm Use the LLVM representation for assembler and object files
-! HELP-FC1-NEXT: -emit-obj Emit native object files
-! HELP-FC1-NEXT: -E Only run the preprocessor
-! HELP-FC1-NEXT: -falternative-parameter-statement
-! HELP-FC1-NEXT: Enable the old style PARAMETER statement
-! HELP-FC1-NEXT: -fapprox-func Allow certain math function calls to be replaced with an approximately equivalent calculation
-! HELP-FC1-NEXT: -fbackslash Specify that backslash in string introduces an escape character
-! HELP-FC1-NEXT: -fcolor-diagnostics Enable colors in diagnostics
-! HELP-FC1-NEXT: -fconvert=<value> Set endian conversion of data for unformatted files
-! HELP-FC1-NEXT: -fdebug-dump-all Dump symbols and the parse tree after the semantic checks
-! HELP-FC1-NEXT: -fdebug-dump-parse-tree-no-sema
-! HELP-FC1-NEXT: Dump the parse tree (skips the semantic checks)
-! HELP-FC1-NEXT: -fdebug-dump-parse-tree Dump the parse tree
-! HELP-FC1-NEXT: -fdebug-dump-parsing-log
-! HELP-FC1-NEXT: Run instrumented parse and dump the parsing log
-! HELP-FC1-NEXT: -fdebug-dump-pft Dump the pre-fir parse tree
-! HELP-FC1-NEXT: -fdebug-dump-provenance Dump provenance
-! HELP-FC1-NEXT: -fdebug-dump-symbols Dump symbols after the semantic analysis
-! HELP-FC1-NEXT: -fdebug-measure-parse-tree
-! HELP-FC1-NEXT: Measure the parse tree
-! HELP-FC1-NEXT: -fdebug-module-writer Enable debug messages while writing module files
-! HELP-FC1-NEXT: -fdebug-pass-manager Prints debug information for the new pass manager
-! HELP-FC1-NEXT: -fdebug-pre-fir-tree Dump the pre-FIR tree
-! HELP-FC1-NEXT: -fdebug-unparse-no-sema Unparse and stop (skips the semantic checks)
-! HELP-FC1-NEXT: -fdebug-unparse-with-symbols
-! HELP-FC1-NEXT: Unparse and stop.
-! HELP-FC1-NEXT: -fdebug-unparse Unparse and stop.
-! HELP-FC1-NEXT: -fdefault-double-8 Set the default double precision kind to an 8 byte wide type
-! HELP-FC1-NEXT: -fdefault-integer-8 Set the default integer and logical kind to an 8 byte wide type
-! HELP-FC1-NEXT: -fdefault-real-8 Set the default real kind to an 8 byte wide type
-! HELP-FC1-NEXT: -fembed-offload-object=<value>
-! HELP-FC1-NEXT: Embed Offloading device-side binary into host object file as a section.
-! HELP-FC1-NEXT: -ffast-math Allow aggressive, lossy floating-point optimizations
-! HELP-FC1-NEXT: -ffixed-form Process source files in fixed form
-! HELP-FC1-NEXT: -ffixed-line-length=<value>
-! HELP-FC1-NEXT: Use <value> as character line width in fixed mode
-! HELP-FC1-NEXT: -ffp-contract=<value> Form fused FP ops (e.g. FMAs)
-! HELP-FC1-NEXT: -ffree-form Process source files in free form
-! HELP-FC1-NEXT: -fget-definition <value> <value> <value>
-! HELP-FC1-NEXT: Get the symbol definition from <line> <start-column> <end-column>
-! HELP-FC1-NEXT: -fget-symbols-sources Dump symbols and their source code locations
-! HELP-FC1-NEXT: -fimplicit-none No implicit typing allowed unless overridden by IMPLICIT statements
-! HELP-FC1-NEXT: -finput-charset=<value> Specify the default character set for source files
-! HELP-FC1-NEXT: -fintrinsic-modules-path <dir>
-! HELP-FC1-NEXT: Specify where to find the compiled intrinsic modules
-! HELP-FC1-NEXT: -flarge-sizes Use INTEGER(KIND=8) for the result type in size-related intrinsics
-! HELP-FC1-NEXT: -flogical-abbreviations Enable logical abbreviations
-! HELP-FC1-NEXT: -flto=<value> Set LTO mode
-! HELP-FC1-NEXT: -flto Enable LTO in 'full' mode
-! HELP-FC1-NEXT: -fno-analyzed-objects-for-unparse
-! HELP-FC1-NEXT: Do not use the analyzed objects when unparsing
-! HELP-FC1-NEXT: -fno-automatic Implies the SAVE attribute for non-automatic local objects in subprograms unless RECURSIVE
-! HELP-FC1-NEXT: -fno-debug-pass-manager Disables debug printing for the new pass manager
-! HELP-FC1-NEXT: -fno-ppc-native-vector-element-order
-! HELP-FC1-NEXT: Specifies PowerPC non-native vector element order
-! HELP-FC1-NEXT: -fno-reformat Dump the cooked character stream in -E mode
-! HELP-FC1-NEXT: -fno-signed-zeros Allow optimizations that ignore the sign of floating point zeros
-! HELP-FC1-NEXT: -fno-stack-arrays Allocate array temporaries on the heap (default)
-! HELP-FC1-NEXT: -fno-version-loops-for-stride
-! HELP-FC1-NEXT: Do not create unit-strided loops (default)
-! HELP-FC1-NEXT: -fopenacc Enable OpenACC
-! HELP-FC1-NEXT: -fopenmp-host-ir-file-path <value>
-! HELP-FC1-NEXT: Path to the IR file produced by the frontend for the host.
-! HELP-FC1-NEXT: -fopenmp-is-target-device
-! HELP-FC1-NEXT: Generate code only for an OpenMP target device.
-! HELP-FC1-NEXT: -fopenmp-target-debug Enable debugging in the OpenMP offloading device RTL
-! HELP-FC1-NEXT: -fopenmp-version=<value>
-! HELP-FC1-NEXT: Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). Default value is 11 for Flang
-! HELP-FC1-NEXT: -fopenmp Parse OpenMP pragmas and generate parallel code.
-! HELP-FC1-NEXT: -fpass-plugin=<dsopath> Load pass plugin from a dynamic shared object file (only with new pass manager).
-! HELP-FC1-NEXT: -fppc-native-vector-element-order
-! HELP-FC1-NEXT: Specifies PowerPC native vector element order (default)
-! HELP-FC1-NEXT: -freciprocal-math Allow division operations to be reassociated
-! HELP-FC1-NEXT: -fstack-arrays Attempt to allocate array temporaries on the stack, no matter their size
-! HELP-FC1-NEXT: -fsyntax-only Run the preprocessor, parser and semantic analysis stages
-! HELP-FC1-NEXT: -funderscoring Appends one trailing underscore to external names
-! HELP-FC1-NEXT: -fveclib=<value> Use the given vector functions library
-! HELP-FC1-NEXT: -fversion-loops-for-stride
-! HELP-FC1-NEXT: Create unit-strided versions of loops
-! HELP-FC1-NEXT: -fxor-operator Enable .XOR. as a synonym of .NEQV.
-! HELP-FC1-NEXT: -gpulibc Link the LLVM C Library for GPUs
-! HELP-FC1-NEXT: -help Display available options
-! HELP-FC1-NEXT: -init-only Only execute frontend initialization
-! HELP-FC1-NEXT: -I <dir> Add directory to the end of the list of include search paths
-! HELP-FC1-NEXT: -load <dsopath> Load the named plugin (dynamic shared object)
-! HELP-FC1-NEXT: -mcode-object-version=<value>
-! HELP-FC1-NEXT: Specify code object ABI version. Defaults to 5. (AMDGPU only)
-! HELP-FC1-NEXT: -menable-no-infs Allow optimization to assume there are no infinities.
-! HELP-FC1-NEXT: -menable-no-nans Allow optimization to assume there are no NaNs.
-! HELP-FC1-NEXT: -mframe-pointer=<value> Specify which frame pointers to retain.
-! HELP-FC1-NEXT: -mllvm <value> Additional arguments to forward to LLVM's option processing
-! HELP-FC1-NEXT: -mmlir <value> Additional arguments to forward to MLIR's option processing
-! HELP-FC1-NEXT: -module-dir <dir> Put MODULE files in <dir>
-! HELP-FC1-NEXT: -module-suffix <suffix> Use <suffix> as the suffix for module files (the default value is `.mod`)
-! HELP-FC1-NEXT: -mreassociate Allow reassociation transformations for floating-point instructions
-! HELP-FC1-NEXT: -mrelocation-model <value>
-! HELP-FC1-NEXT: The relocation model to use
-! HELP-FC1-NEXT: -mvscale-max=<value> Specify the vscale maximum. Defaults to the vector length agnostic value of "0". (AArch64/RISC-V only)
-! HELP-FC1-NEXT: -mvscale-min=<value> Specify the vscale minimum. Defaults to "1". (AArch64/RISC-V only)
-! HELP-FC1-NEXT: -nocpp Disable predefined and command line preprocessor macros
-! HELP-FC1-NEXT: -nogpulib Do not link device library for CUDA/HIP device compilation
-! HELP-FC1-NEXT: -opt-record-file <value>
-! HELP-FC1-NEXT: File name to use for YAML optimization record output
-! HELP-FC1-NEXT: -opt-record-format <value>
-! HELP-FC1-NEXT: The format used for serializing remarks (default: YAML)
-! HELP-FC1-NEXT: -opt-record-passes <value>
-! HELP-FC1-NEXT: Only record remark information for passes whose names match the given regular expression
-! HELP-FC1-NEXT: -o <file> Write output to <file>
-! HELP-FC1-NEXT: -pedantic Warn on language extensions
-! HELP-FC1-NEXT: -pic-is-pie File is for a position independent executable
-! HELP-FC1-NEXT: -pic-level <value> Value for __PIC__
-! HELP-FC1-NEXT: -plugin <name> Use the named plugin action instead of the default action (use "help" to list available options)
-! HELP-FC1-NEXT: -pthread Support POSIX threads in generated code
-! HELP-FC1-NEXT: -P Disable linemarker output in -E mode
-! HELP-FC1-NEXT: -Rpass-analysis=<value> Report transformation analysis from optimization passes whose name matches the given POSIX regular expression
-! HELP-FC1-NEXT: -Rpass-missed=<value> Report missed transformations by optimization passes whose name matches the given POSIX regular expression
-! HELP-FC1-NEXT: -Rpass=<value> Report transformations performed by optimization passes whose name matches the given POSIX regular expression
-! HELP-FC1-NEXT: -R<remark> Enable the specified remark
-! HELP-FC1-NEXT: -save-temps=<value> Save intermediate compilation results.
-! HELP-FC1-NEXT: -save-temps Alias for --save-temps=cwd
-! HELP-FC1-NEXT: -std=<value> Language standard to compile for
-! HELP-FC1-NEXT: -S Only run preprocess and compilation steps
-! HELP-FC1-NEXT: -target-cpu <value> Target a specific cpu type
-! HELP-FC1-NEXT: -target-feature <value> Target specific attributes
-! HELP-FC1-NEXT: -test-io Run the InputOuputTest action. Use for development and testing only.
-! HELP-FC1-NEXT: -triple <value> Specify target triple (e.g. i686-apple-darwin9)
-! HELP-FC1-NEXT: -U <macro> Undefine macro <macro>
-! HELP-FC1-NEXT: -version Print the compiler version
-! HELP-FC1-NEXT: -W<warning> Enable the specified warning
-! HELP-FC1-NEXT: -x <language> Treat subsequent input files as having type <language>
! ERROR: error: unknown argument '-helps'; did you mean '-help'
More information about the flang-commits
mailing list