LLVM 22.0.0git
MCStreamer.cpp File Reference
#include "llvm/MC/MCStreamer.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/BinaryFormat/MachO.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCCodeView.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstPrinter.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCPseudoProbe.h"
#include "llvm/MC/MCRegister.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCSectionCOFF.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCWin64EH.h"
#include "llvm/MC/MCWinEH.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <optional>
#include <utility>

Go to the source code of this file.

Functions

template<typename T>
static void copyBytesForDefRange (SmallString< 20 > &BytePrefix, codeview::SymbolKind SymKind, const T &DefRangeHeader)
 Only call this on endian-specific types like ulittle16_t and little32_t, or structs composed of them.
static MCSectiongetWinCFISection (MCContext &Context, unsigned *NextWinCFIID, MCSection *MainCFISec, const MCSection *TextSec)
static unsigned encodeSEHRegNum (MCContext &Ctx, MCRegister Reg)
static VersionTuple targetVersionOrMinimumSupportedOSVersion (const Triple &Target, VersionTuple TargetVersion)
static MCVersionMinType getMachoVersionMinLoadCommandType (const Triple &Target)
static VersionTuple getMachoBuildVersionSupportedOS (const Triple &Target)
static MachO::PlatformType getMachoBuildVersionPlatformType (const Triple &Target)

Function Documentation

◆ copyBytesForDefRange()

template<typename T>
void copyBytesForDefRange ( SmallString< 20 > & BytePrefix,
codeview::SymbolKind SymKind,
const T & DefRangeHeader )
static

Only call this on endian-specific types like ulittle16_t and little32_t, or structs composed of them.

Definition at line 340 of file MCStreamer.cpp.

References llvm::SmallVectorImpl< T >::resize(), and T.

Referenced by llvm::MCStreamer::emitCVDefRangeDirective(), llvm::MCStreamer::emitCVDefRangeDirective(), llvm::MCStreamer::emitCVDefRangeDirective(), and llvm::MCStreamer::emitCVDefRangeDirective().

◆ encodeSEHRegNum()

◆ getMachoBuildVersionPlatformType()

◆ getMachoBuildVersionSupportedOS()

◆ getMachoVersionMinLoadCommandType()

◆ getWinCFISection()

MCSection * getWinCFISection ( MCContext & Context,
unsigned * NextWinCFIID,
MCSection * MainCFISec,
const MCSection * TextSec )
static

◆ targetVersionOrMinimumSupportedOSVersion()

VersionTuple targetVersionOrMinimumSupportedOSVersion ( const Triple & Target,
VersionTuple TargetVersion )
static

Definition at line 1421 of file MCStreamer.cpp.

References llvm::VersionTuple::empty().

Referenced by llvm::MCStreamer::emitVersionForTarget().