LLVM 20.0.0git
Functions
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 >
static 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 359 of file MCStreamer.cpp.

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

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

◆ encodeSEHRegNum()

static unsigned encodeSEHRegNum ( MCContext Ctx,
MCRegister  Reg 
)
static

◆ getMachoBuildVersionPlatformType()

static MachO::PlatformType getMachoBuildVersionPlatformType ( const Triple Target)
static

◆ getMachoBuildVersionSupportedOS()

static VersionTuple getMachoBuildVersionSupportedOS ( const Triple Target)
static

◆ getMachoVersionMinLoadCommandType()

static MCVersionMinType getMachoVersionMinLoadCommandType ( const Triple Target)
static

◆ getWinCFISection()

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

◆ targetVersionOrMinimumSupportedOSVersion()

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

Definition at line 1311 of file MCStreamer.cpp.

References llvm::VersionTuple::empty().

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