diff options
author | Chris Bieneman <chris.bieneman@me.com> | 2022-06-06 17:18:08 -0500 |
---|---|---|
committer | Chris Bieneman <chris.bieneman@me.com> | 2022-06-17 21:19:32 -0500 |
commit | 3adc908b26857f8d3e1e8aed46c1102edc0244e1 (patch) | |
tree | 51b4c8e5afb8602fd79f217d3996877c47bc1ce4 /llvm/lib/MC/MCObjectFileInfo.cpp | |
parent | 3942f8e4762c990184c77b0fe341e151eaf1cc72 (diff) | |
download | llvm-3adc908b26857f8d3e1e8aed46c1102edc0244e1.zip llvm-3adc908b26857f8d3e1e8aed46c1102edc0244e1.tar.gz llvm-3adc908b26857f8d3e1e8aed46c1102edc0244e1.tar.bz2 |
[DirectX][MC] Add MC support for DXContainer
DXContainer files resemble traditional object files in that they are
comprised of parts which resemble sections. Adding DXContainer as an
object file format in the MC layer will allow emitting DXContainer
objects through the normal object emission pipeline.
Differential Revision: https://reviews.llvm.org/D127165
Diffstat (limited to 'llvm/lib/MC/MCObjectFileInfo.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectFileInfo.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp index bb39e5a..d6fe952 100644 --- a/llvm/lib/MC/MCObjectFileInfo.cpp +++ b/llvm/lib/MC/MCObjectFileInfo.cpp @@ -16,6 +16,7 @@ #include "llvm/MC/MCContext.h" #include "llvm/MC/MCSection.h" #include "llvm/MC/MCSectionCOFF.h" +#include "llvm/MC/MCSectionDXContainer.h" #include "llvm/MC/MCSectionELF.h" #include "llvm/MC/MCSectionGOFF.h" #include "llvm/MC/MCSectionMachO.h" @@ -1019,6 +1020,11 @@ void MCObjectFileInfo::initXCOFFMCObjectFileInfo(const Triple &T) { /* MultiSymbolsAllowed */ true, ".dwmac", XCOFF::SSUBTYP_DWMAC); } +void MCObjectFileInfo::initDXContainerObjectFileInfo(const Triple &T) { + // At the moment the DXBC section should end up empty. + TextSection = Ctx->getDXContainerSection("DXBC", SectionKind::getText()); +} + MCObjectFileInfo::~MCObjectFileInfo() = default; void MCObjectFileInfo::initMCObjectFileInfo(MCContext &MCCtx, bool PIC, @@ -1067,6 +1073,7 @@ void MCObjectFileInfo::initMCObjectFileInfo(MCContext &MCCtx, bool PIC, initXCOFFMCObjectFileInfo(TheTriple); break; case MCContext::IsDXContainer: + initDXContainerObjectFileInfo(TheTriple); break; } } |