[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