[NFC][DirectX] Clean-up llvm-objcopy to be consistent across implementation details#177006
Conversation
- using .yaml allows for tree-sitters to auto-detect formatting over .test
llvm-objcopy to be consistent across implementation details
|
@llvm/pr-subscribers-backend-directx Author: Finn Plummer (inbelic) ChangesThis change is intended to ensure the implementation of the various This is intended to help have a clear and consistent point of reference for new contributors to extend These changes are largely to propagate the review comments of #159999 back onto the changes introduced before it. Full diff: https://github.com/llvm/llvm-project/pull/177006.diff 10 Files Affected:
diff --git a/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp b/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
index 95ab3d944b8f8..9557f8f8beee2 100644
--- a/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
+++ b/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
@@ -23,35 +23,37 @@ using namespace object;
static Error extractPartAsObject(StringRef PartName, StringRef OutFilename,
StringRef InputFilename, const Object &Obj) {
- for (const Part &P : Obj.Parts)
- if (P.Name == PartName) {
- Object PartObj;
- PartObj.Header = Obj.Header;
- PartObj.Parts.push_back({P.Name, P.Data});
- PartObj.recomputeHeader();
-
- auto Write = [&OutFilename, &PartObj](raw_ostream &Out) -> Error {
- DXContainerWriter Writer(PartObj, Out);
- if (Error E = Writer.write())
- return createFileError(OutFilename, std::move(E));
- return Error::success();
- };
-
- return writeToOutput(OutFilename, Write);
- }
-
- return createFileError(InputFilename, object_error::parse_failed,
- "part '%s' not found", PartName.str().c_str());
+ auto *PartIter = llvm::find_if(
+ Obj.Parts, [&PartName](const Part &P) { return P.Name == PartName; });
+ if (PartIter == Obj.Parts.end())
+ return createFileError(InputFilename,
+ std::make_error_code(std::errc::invalid_argument),
+ "part '%s' not found", PartName.str().c_str());
+
+ Object PartObj;
+ PartObj.Header = Obj.Header;
+ PartObj.Parts.push_back({PartIter->Name, PartIter->Data});
+ PartObj.recomputeHeader();
+
+ auto Write = [&OutFilename, &PartObj](raw_ostream &Out) -> Error {
+ DXContainerWriter Writer(PartObj, Out);
+ if (Error E = Writer.write())
+ return createFileError(OutFilename, std::move(E));
+ return Error::success();
+ };
+
+ return writeToOutput(OutFilename, Write);
}
static Error dumpPartToFile(StringRef PartName, StringRef Filename,
StringRef InputFilename, Object &Obj) {
- auto PartIter = llvm::find_if(
+ auto *PartIter = llvm::find_if(
Obj.Parts, [&PartName](const Part &P) { return P.Name == PartName; });
if (PartIter == Obj.Parts.end())
return createFileError(Filename,
std::make_error_code(std::errc::invalid_argument),
"part '%s' not found", PartName.str().c_str());
+
ArrayRef<uint8_t> Contents = PartIter->Data;
// The DXContainer format is a bit odd because the part-specific headers are
// contained inside the part data itself. For parts that contain LLVM bitcode
@@ -80,16 +82,15 @@ static Error dumpPartToFile(StringRef PartName, StringRef Filename,
static Error handleArgs(const CommonConfig &Config, Object &Obj) {
for (StringRef Flag : Config.DumpSection) {
- auto [SecName, FileName] = Flag.split("=");
- if (Error E = dumpPartToFile(SecName, FileName, Config.InputFilename, Obj))
+ auto [SectionName, FileName] = Flag.split("=");
+ if (Error E =
+ dumpPartToFile(SectionName, FileName, Config.InputFilename, Obj))
return E;
}
// Extract all sections before any modifications.
for (StringRef Flag : Config.ExtractSection) {
- StringRef SectionName;
- StringRef FileName;
- std::tie(SectionName, FileName) = Flag.split('=');
+ auto [SectionName, FileName] = Flag.split('=');
if (Error E = extractPartAsObject(SectionName, FileName,
Config.InputFilename, Obj))
return E;
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.test b/llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.test b/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.test b/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.test b/llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.test b/llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.yaml
|
|
@llvm/pr-subscribers-llvm-binary-utilities Author: Finn Plummer (inbelic) ChangesThis change is intended to ensure the implementation of the various This is intended to help have a clear and consistent point of reference for new contributors to extend These changes are largely to propagate the review comments of #159999 back onto the changes introduced before it. Full diff: https://github.com/llvm/llvm-project/pull/177006.diff 10 Files Affected:
diff --git a/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp b/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
index 95ab3d944b8f8..9557f8f8beee2 100644
--- a/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
+++ b/llvm/lib/ObjCopy/DXContainer/DXContainerObjcopy.cpp
@@ -23,35 +23,37 @@ using namespace object;
static Error extractPartAsObject(StringRef PartName, StringRef OutFilename,
StringRef InputFilename, const Object &Obj) {
- for (const Part &P : Obj.Parts)
- if (P.Name == PartName) {
- Object PartObj;
- PartObj.Header = Obj.Header;
- PartObj.Parts.push_back({P.Name, P.Data});
- PartObj.recomputeHeader();
-
- auto Write = [&OutFilename, &PartObj](raw_ostream &Out) -> Error {
- DXContainerWriter Writer(PartObj, Out);
- if (Error E = Writer.write())
- return createFileError(OutFilename, std::move(E));
- return Error::success();
- };
-
- return writeToOutput(OutFilename, Write);
- }
-
- return createFileError(InputFilename, object_error::parse_failed,
- "part '%s' not found", PartName.str().c_str());
+ auto *PartIter = llvm::find_if(
+ Obj.Parts, [&PartName](const Part &P) { return P.Name == PartName; });
+ if (PartIter == Obj.Parts.end())
+ return createFileError(InputFilename,
+ std::make_error_code(std::errc::invalid_argument),
+ "part '%s' not found", PartName.str().c_str());
+
+ Object PartObj;
+ PartObj.Header = Obj.Header;
+ PartObj.Parts.push_back({PartIter->Name, PartIter->Data});
+ PartObj.recomputeHeader();
+
+ auto Write = [&OutFilename, &PartObj](raw_ostream &Out) -> Error {
+ DXContainerWriter Writer(PartObj, Out);
+ if (Error E = Writer.write())
+ return createFileError(OutFilename, std::move(E));
+ return Error::success();
+ };
+
+ return writeToOutput(OutFilename, Write);
}
static Error dumpPartToFile(StringRef PartName, StringRef Filename,
StringRef InputFilename, Object &Obj) {
- auto PartIter = llvm::find_if(
+ auto *PartIter = llvm::find_if(
Obj.Parts, [&PartName](const Part &P) { return P.Name == PartName; });
if (PartIter == Obj.Parts.end())
return createFileError(Filename,
std::make_error_code(std::errc::invalid_argument),
"part '%s' not found", PartName.str().c_str());
+
ArrayRef<uint8_t> Contents = PartIter->Data;
// The DXContainer format is a bit odd because the part-specific headers are
// contained inside the part data itself. For parts that contain LLVM bitcode
@@ -80,16 +82,15 @@ static Error dumpPartToFile(StringRef PartName, StringRef Filename,
static Error handleArgs(const CommonConfig &Config, Object &Obj) {
for (StringRef Flag : Config.DumpSection) {
- auto [SecName, FileName] = Flag.split("=");
- if (Error E = dumpPartToFile(SecName, FileName, Config.InputFilename, Obj))
+ auto [SectionName, FileName] = Flag.split("=");
+ if (Error E =
+ dumpPartToFile(SectionName, FileName, Config.InputFilename, Obj))
return E;
}
// Extract all sections before any modifications.
for (StringRef Flag : Config.ExtractSection) {
- StringRef SectionName;
- StringRef FileName;
- std::tie(SectionName, FileName) = Flag.split('=');
+ auto [SectionName, FileName] = Flag.split('=');
if (Error E = extractPartAsObject(SectionName, FileName,
Config.InputFilename, Obj))
return E;
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.test b/llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/copy-basic.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/copy-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.test b/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/extract-section-basic.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.test b/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/extract-section-errs.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/extract-section-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/only-section-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.test b/llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/reading-errs.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.test b/llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/remove-headers.yaml
diff --git a/llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.test b/llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.yaml
similarity index 100%
rename from llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.test
rename to llvm/test/tools/llvm-objcopy/DXContainer/remove-root-signature.yaml
|
This change is to ensure the implementation of the various
llvm-objcopyargs are implemented with consistent patterns.This is intended to help have a clear and consistent point of reference for new contributors to extend
llvm-objcopy.These changes are largely to propagate the review comments of #159999 back onto the changes introduced before it.