[PATCH] D126425: [llvm-ml] Add support for the .S extension

Alan Zhao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 25 19:10:18 PDT 2022


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
ayzhao marked an inline comment as done.
Closed by commit rG65fd1e91b0f8: [llvm-ml] Add support for the .S extension (authored by ayzhao).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D126425/new/

https://reviews.llvm.org/D126425

Files:
  llvm/test/tools/llvm-ml/invalid_file_extension.blah
  llvm/test/tools/llvm-ml/lit.local.cfg
  llvm/test/tools/llvm-ml/valid_file_extension.S
  llvm/tools/llvm-ml/Opts.td
  llvm/tools/llvm-ml/llvm-ml.cpp


Index: llvm/tools/llvm-ml/llvm-ml.cpp
===================================================================
--- llvm/tools/llvm-ml/llvm-ml.cpp
+++ llvm/tools/llvm-ml/llvm-ml.cpp
@@ -208,7 +208,9 @@
   std::string InputFilename;
   for (auto *Arg : InputArgs.filtered(OPT_INPUT)) {
     std::string ArgString = Arg->getAsString(InputArgs);
-    if (ArgString == "-" || StringRef(ArgString).endswith(".asm")) {
+    StringRef ArgStringRef(ArgString);
+    if (ArgString == "-" || ArgStringRef.endswith(".asm") ||
+        ArgStringRef.endswith(".S")) {
       if (!InputFilename.empty()) {
         WithColor::warning(errs(), ProgName)
             << "does not support multiple assembly files in one command; "
@@ -234,7 +236,7 @@
           << "does not support multiple assembly files in one command; "
           << "ignoring '" << InputFilename << "'\n";
     }
-    InputFilename = Arg->getAsString(InputArgs);
+    InputFilename = Arg->getValue();
   }
 
   for (auto *Arg : InputArgs.filtered(OPT_unsupported_Group)) {
Index: llvm/tools/llvm-ml/Opts.td
===================================================================
--- llvm/tools/llvm-ml/Opts.td
+++ llvm/tools/llvm-ml/Opts.td
@@ -31,7 +31,7 @@
 def bitness : LLVMJoined<"m">, Values<"32,64">,
               HelpText<"Target platform (x86 or x86-64)">;
 def as_lex : LLVMFlag<"as-lex">,
-             HelpText<"Lex tokens from a .asm file without assembling">;
+             HelpText<"Lex tokens from an .asm or .S file without assembling">;
 def debug : LLVMFlag<"debug">, Flags<[HelpHidden]>,
             HelpText<"Enable debug output">;
 def debug_only : LLVMCommaJoined<"debug-only=">, Flags<[HelpHidden]>,
@@ -82,7 +82,7 @@
                        "32-bit.">;
 def assembly_file : MLJoinedOrSeparate<"Ta">,
                     HelpText<"Assemble source file with name not ending with "
-                             "the .asm extension">;
+                             "the .asm or the .S extension">;
 def error_on_warning : MLFlag<"WX">, Alias<fatal_warnings>;
 def parse_only : MLFlag<"Zs">, HelpText<"Run a syntax-check only">,
                  Alias<filetype>, AliasArgs<["null"]>;
Index: llvm/test/tools/llvm-ml/valid_file_extension.S
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-ml/valid_file_extension.S
@@ -0,0 +1,5 @@
+; RUN: llvm-ml -m64 -filetype=s %s /Fo - | FileCheck %s
+
+.code
+foo:
+; CHECK: foo:
Index: llvm/test/tools/llvm-ml/lit.local.cfg
===================================================================
--- llvm/test/tools/llvm-ml/lit.local.cfg
+++ llvm/test/tools/llvm-ml/lit.local.cfg
@@ -3,3 +3,5 @@
     config.unsupported = True
 
 config.suffixes.add('.asm')
+config.suffixes.add('.S')
+config.suffixes.add('.blah')
Index: llvm/test/tools/llvm-ml/invalid_file_extension.blah
===================================================================
--- /dev/null
+++ llvm/test/tools/llvm-ml/invalid_file_extension.blah
@@ -0,0 +1,8 @@
+; RUN: not llvm-ml %s /Fo /dev/null 2>&1 | FileCheck %s --check-prefixes=CHECK-INVALID
+; RUN: llvm-ml /Ta %s -m64 -filetype=s /Fo - | FileCheck %s --check-prefixes=CHECK-TA
+
+; CHECK-INVALID: error: invalid option '{{.*}}invalid_file_extension.blah'
+
+.code
+foo:
+; CHECK-TA: foo:


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126425.432164.patch
Type: text/x-patch
Size: 3277 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220526/face6cb5/attachment.bin>


More information about the llvm-commits mailing list