[llvm] [clang] [LinkerWrapper] Handle AMDGPU Target-IDs correctly when linking (PR #78359)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 17 05:05:34 PST 2024
================
@@ -162,6 +162,19 @@ class OffloadFile : public OwningBinary<OffloadBinary> {
std::unique_ptr<MemoryBuffer> Buffer)
: OwningBinary<OffloadBinary>(std::move(Binary), std::move(Buffer)) {}
+ /// Make a deep copy of this offloading file.
+ OffloadFile copy() const {
+ std::unique_ptr<MemoryBuffer> Buffer = MemoryBuffer::getMemBufferCopy(
+ getBinary()->getMemoryBufferRef().getBuffer());
+
+ // This parsing should never fail because it has already been parsed.
+ auto NewBinaryOrErr = OffloadBinary::create(*Buffer);
+ assert(NewBinaryOrErr && "Failed to parse a copy of the binary?");
+ if (!NewBinaryOrErr)
----------------
jhuber6 wrote:
Errors always need to be checked, even if they were successful. If the user did not compile with assertions on this would abort the program otherwise.
https://github.com/llvm/llvm-project/pull/78359
More information about the cfe-commits
mailing list