LLVM: lib/ObjCopy/DXContainer/DXContainerReader.cpp Source File (original) (raw)
Go to the documentation of this file.
1
2
3
4
5
6
7
8
10
11namespace llvm {
13namespace dxbc {
14
15using namespace object;
16
18 auto Obj = std::make_unique();
19 Obj->Header = DXContainerObj.getHeader();
20 for (const SectionRef &Part : DXContainerObj.sections()) {
23 if (auto E = Name.takeError())
24 return E;
25 assert(Name->size() == 4 &&
26 "Valid DXIL Part name consists of 4 characters");
28 DXContainerObj.getSectionContents(PartDRI);
29 if (auto E = Data.takeError())
30 return E;
31 Obj->Parts.push_back({*Name, *Data});
32 }
33 return std::move(Obj);
34}
35
36}
37}
38}
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
Tagged union holding either a T or a Error.
Expected< std::unique_ptr< Object > > create() const
Definition DXContainerReader.cpp:17
This is a value type class that represents a single section in the list of sections in the object fil...
This is an optimization pass for GlobalISel generic memory operations.
FunctionAddr VTableAddr uintptr_t uintptr_t Data