llvm-project/flang/test/Driver
Usman Nadeem 3951a73490 [Flang][Driver] Handle target CPU and features
This patch:

- Adds target-feature and target-cpu to FC1Options.
- Moves getTargetFeatures() from Clang.cpp to CommonArgs.cpp.
- Processes target cpu and features in the flang driver. Right now
  features are only added for AArch64/x86 because I only did basic
  testing on them but it should generally work for others as well.
  Option handling is similar to clang.
- Adds appropriate structures in TargetOptions and passes them to
  the target machine.

What's missing:

- Adding the CPU info and the features as attributes in the LLVM IR
  module.
- Processing target specific flags, e.g. SVE vector bits for AArch64,
  ABI etc.

Differential Revision: https://reviews.llvm.org/D137995

Change-Id: Ib081a74ea98617674845518a5d2754edba596418
2022-12-02 09:37:53 -08:00
..
Inputs [flang][nfc] Relocate a few driver tests 2022-10-07 17:04:06 +00:00
input-from-stdin [flang] Disable pipefail for tests for stdin input 2022-07-27 10:31:02 +00:00
bbc-mlir-pass-pipeline.f90 [flang] Enable SimplifyIntrinsics pass in driver. 2022-08-18 08:55:27 -07:00
code-gen-aarch64.f90 [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
code-gen-x86.f90 [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
color-diagnostics-forwarding.f90 [flang][Driver] Refine _when_ driver diagnostics are formatted 2022-06-22 23:56:34 +08:00
color-diagnostics-parse.f90 [flang] Improve syntax error messages by fixing withMessage() parser combinator 2022-10-06 14:00:06 -07:00
color-diagnostics-scan.f [flang] Support the color diagnostics on scanning, parsing, and semantics 2022-07-27 23:45:41 +08:00
color-diagnostics-sema.f90 [flang] Support the color diagnostics on scanning, parsing, and semantics 2022-07-27 23:45:41 +08:00
color-diagnostics.f90 [flang][Driver] Refine _when_ driver diagnostics are formatted 2022-06-22 23:56:34 +08:00
convert.f90 [Flang] Add -fconvert option to swap endianness for unformatted files. 2022-10-12 16:57:37 -07:00
cpp-nocpp-command-line-macro.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
cpp-nocpp-predefined-macro.F90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
debug-measure-parse-tree.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
debug-parsing-log.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
debug-provenance.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
default-backend-pipelines.f90 [flang] Fixed a number of typos 2022-08-25 18:11:38 +02:00
default-optimization-pipelines.f90 [flang][driver] Fix opt-level option parsing 2022-07-20 11:14:29 +00:00
disable-ext-name-interop.f90 [flang] Add ExternalNameConversionPass to pass pipeline 2022-05-06 07:50:43 +00:00
driver-error-cc1.c [flang][test] Remove RUN COMMAND/EXPECTED OUTPUT/INPUT markers from other directories 2022-06-29 22:10:59 -07:00
driver-error-cc1.cpp [flang][test] Remove RUN COMMAND/EXPECTED OUTPUT/INPUT markers from other directories 2022-06-29 22:10:59 -07:00
driver-help-hidden.f90 [flang] Add -fpass-plugin option to flang 2022-11-10 08:03:46 -07:00
driver-help.f90 [Flang][Driver] Handle target CPU and features 2022-12-02 09:37:53 -08:00
driver-version.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
dump-all-bad.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
dump-all.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
dump-parse-tree-no-sema.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
dump-pft.f90 [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
emit-asm-aarch64.f90 [mlir:LLVM] Rewrite the LLVMIR export to use the debug info attributes 2022-10-24 22:31:41 -07:00
emit-asm-from-llvm-bc.ll [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
emit-asm-from-llvm.ll [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
emit-asm-from-mlir.mlir [flang][driver]Fix broken PowerPC tests 2022-09-14 16:33:38 +01:00
emit-asm-x86.f90 [mlir:LLVM] Rewrite the LLVMIR export to use the debug info attributes 2022-10-24 22:31:41 -07:00
emit-llvm-bc.f90 [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
emit-llvm.f90 [Flang][Driver]Add datalayout before doing LLVM-IR transformation 2022-11-03 12:16:22 +00:00
emit-mlir.f90 [Flang][Driver]Add datalayout before doing LLVM-IR transformation 2022-11-03 12:16:22 +00:00
escaped-backslash.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
fdefault.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
fixed-free-detection.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
fixed-free-flag.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
fixed-line-length.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
flang_f_opts.f90 [flang] Add -ffp-contract option processing 2022-10-31 11:32:31 +00:00
flarge-sizes.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
fno-integrated-as.f90 [flang][driver] Add support for -save-temps 2022-05-06 08:41:29 +00:00
frontend-forwarding.f90 [flang] Add -fpass-plugin option to flang 2022-11-10 08:03:46 -07:00
get-definition.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
implicit-none.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
include-header.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
include-omp-header.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
init-only.f90 [flang][nfc] Remove `flang-new-driver` from LIT 2021-08-13 08:17:40 +00:00
input-output-file.f90 [flang][nfc] Relocate a few driver tests 2022-10-07 17:04:06 +00:00
intrinsic-module-path.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
linker-flags.f90 [flang][test] Don't require .exe suffix. 2022-08-08 16:55:30 -05:00
macro-def-undef.F90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
macro-multiline.F90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
missing-arg.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
missing-input.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
missing-triple.ll [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
mlir-pass-pipeline.f90 [flang] Introduce `AbstractResultOnGlobalOpt` pass 2022-08-25 21:58:59 +03:00
mllvm.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
mllvm_vs_mmlir.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
mmlir-opts.f90 [Flang][Driver] Add support for AsmPrinter -mmlir options 2022-07-27 16:11:11 -04:00
module-suffix.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
multiple-actions-error.f95 [flang] Make the frontend driver error out when requesting multiple actions 2021-12-17 10:05:28 +00:00
multiple-input-files.f90 [flang][nfc] Relocate a few driver tests 2022-10-07 17:04:06 +00:00
output-paths.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
override-triple.ll [flang][test] Remove RUN COMMANDS/EXPECTED OUTPUT/INPUT markers from test/Driver 2022-06-29 01:06:01 -07:00
parse-error.ll [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
parse-fir-error.ll [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
parse-ir-error.f95 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
pass-plugin-not-found.f90 [flang][test] Adjust Driver/pass-plugin-not-found.f90 error message 2022-11-24 16:20:33 +01:00
pass-plugin.f90 [Flang] Allow registering plugin extensions with the pass builder 2022-11-10 14:16:15 -08:00
phases.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
pic-flags.f90 [Flang][Driver]Add datalayout before doing LLVM-IR transformation 2022-11-03 12:16:22 +00:00
plugin-invalid-name.f90 [flang][driver] Add print function name Plugin example 2021-08-19 08:25:34 +00:00
predefined-macros-compiler-version.F90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
predefined-macros-x86.f90 [Flang] Adjust preprocessing to build modules correctly 2022-10-14 12:27:48 -07:00
prescanner-diag.f90 [flang][nfc] Relocate a few driver tests 2022-10-07 17:04:06 +00:00
print-effective-triple.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
print-target-triple.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
response-file.f90 [flang][driver] Support parsing response files 2022-05-18 08:25:45 +00:00
save-temps.f90 [flang][driver] Add support for -save-temps 2022-05-06 08:41:29 +00:00
scanning-error.f95 [flang][driver] Remove `%flang-new` from the LIT configuration 2021-04-13 10:55:01 +00:00
std2018-wrong.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
std2018.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
syntax-only.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
target-cpu-features.f90 [Flang][Driver] Handle target CPU and features 2022-12-02 09:37:53 -08:00
target.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
tco-code-gen-llvm.fir [flang][tco] Engineering option for running only CodeGen passes. 2022-10-04 13:28:03 -07:00
unparse-use-analyzed.f95 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
use-module-error.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
use-module.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
werror-parse.f [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
werror-scan.f [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
werror-sema.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
werror-wrong.f90 [flang][test] Remove RUN LINES?/EXPECTED OUTPUT.*/INPUT markers from test/Driver 2022-06-29 22:08:02 -07:00
write-module.f90 [flang][driver] Make driver accept `-module-dir<value>` 2022-05-19 11:13:35 +00:00