[clang] [flang][driver] Mark -fcommon and -mtune as visible in Flang (PR #68657)

Fangcao Wang via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 9 20:32:24 PDT 2023


https://github.com/LittleMeepo created https://github.com/llvm/llvm-project/pull/68657

None

>From 490145aaa74fc936682344162ba1340b65c2bebc Mon Sep 17 00:00:00 2001
From: wangfc <wangfangcao1 at huawei.com>
Date: Tue, 10 Oct 2023 11:06:11 +0800
Subject: [PATCH] [flang][driver] Mark -fcommon and -mtune as visible in Flang

---
 clang/include/clang/Driver/Options.td |  3 ++-
 flang/test/Driver/misc-flags.f90      |  3 +++
 flang/test/Driver/tune-cpu.f90        | 22 ++++++++++++++++++++++
 3 files changed, 27 insertions(+), 1 deletion(-)
 create mode 100644 flang/test/Driver/tune-cpu.f90

diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 5415b18d3f406df..8936df388d2db97 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -1786,7 +1786,7 @@ def fno_record_command_line : Flag<["-"], "fno-record-command-line">,
 def : Flag<["-"], "frecord-gcc-switches">, Alias<frecord_command_line>;
 def : Flag<["-"], "fno-record-gcc-switches">, Alias<fno_record_command_line>;
 def fcommon : Flag<["-"], "fcommon">, Group<f_Group>,
-  Visibility<[ClangOption, CLOption, CC1Option]>,
+  Visibility<[ClangOption, CLOption, CC1Option, FlangOption]>,
   HelpText<"Place uninitialized global variables in a common block">,
   MarshallingInfoNegativeFlag<CodeGenOpts<"NoCommon">>,
   DocBrief<[{Place definitions of variables with no storage class and no initializer
@@ -5077,6 +5077,7 @@ def module_file_info : Flag<["-"], "module-file-info">, Flags<[NoXarchOption]>,
   HelpText<"Provide information about a particular module file">;
 def mthumb : Flag<["-"], "mthumb">, Group<m_Group>;
 def mtune_EQ : Joined<["-"], "mtune=">, Group<m_Group>,
+  Flags<[TargetSpecific]>, Visibility<[ClangOption, CLOption, DXCOption, FlangOption]>,
   HelpText<"Only supported on AArch64, PowerPC, RISC-V, SystemZ, and X86">;
 def multi__module : Flag<["-"], "multi_module">;
 def multiply__defined__unused : Separate<["-"], "multiply_defined_unused">;
diff --git a/flang/test/Driver/misc-flags.f90 b/flang/test/Driver/misc-flags.f90
index 61d763c5b64dd21..9412ccb8347ff89 100644
--- a/flang/test/Driver/misc-flags.f90
+++ b/flang/test/Driver/misc-flags.f90
@@ -10,6 +10,9 @@
 ! Make sure that `-L' is "visible" to Flang's driver
 ! RUN: %flang -L/ -### %s
 
+! Make sure that `-fcommon' is "visible" to Flang's driver
+! RUN: %flang -fcommon -### %s
+
 program hello
   write(*,*), "Hello world!"
 end program hello
diff --git a/flang/test/Driver/tune-cpu.f90 b/flang/test/Driver/tune-cpu.f90
new file mode 100644
index 000000000000000..44af55e30ab4eb7
--- /dev/null
+++ b/flang/test/Driver/tune-cpu.f90
@@ -0,0 +1,22 @@
+! Test that -mtune is used and that the -tune-cpu is also added to the
+! clang command.
+
+! RUN: %flang --target=aarch64-linux-gnu -mtune=cortex-a57 -c %s -### 2>&1 \
+! RUN: | FileCheck %s -check-prefix=CHECK-A57
+
+! RUN: %flang --target=aarch64-linux-gnu -mtune=cortex-a76 -c %s -### 2>&1 \
+! RUN: | FileCheck %s -check-prefix=CHECK-A76
+
+! RUN: %flang --target=aarch64-linux-gnu -mtune=cortex-armv9 -c %s -### 2>&1 \
+! RUN: | FileCheck %s -check-prefix=CHECK-ARMV9
+
+! RUN: %flang --target=x86_64-linux-gnu -mtune=skylake -c %s -### 2>&1 \
+! RUN: | FileCheck %s -check-prefix=CHECK-SKYLAKE
+
+! CHECK-A57: "-tune-cpu" "cortex-a57"
+
+! CHECK-A76: "-tune-cpu" "cortex-a76"
+
+! CHECK-ARMV9: "-tune-cpu" "cortex-armv9"
+
+! CHECK-SKYLAKE: "-tune-cpu" "skylake"



More information about the cfe-commits mailing list