aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCObjectFileInfo.cpp
diff options
context:
space:
mode:
authorChris Bieneman <chris.bieneman@me.com>2022-06-06 17:18:08 -0500
committerChris Bieneman <chris.bieneman@me.com>2022-06-17 21:19:32 -0500
commit3adc908b26857f8d3e1e8aed46c1102edc0244e1 (patch)
tree51b4c8e5afb8602fd79f217d3996877c47bc1ce4 /llvm/lib/MC/MCObjectFileInfo.cpp
parent3942f8e4762c990184c77b0fe341e151eaf1cc72 (diff)
downloadllvm-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.cpp7
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;
}
}