LLVM  10.0.0svn
Macros | Enumerations | Functions
WinCOFFObjectWriter.cpp File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/MC/MCAsmLayout.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCFixup.h"
#include "llvm/MC/MCFragment.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCSection.h"
#include "llvm/MC/MCSectionCOFF.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/MCSymbolCOFF.h"
#include "llvm/MC/MCValue.h"
#include "llvm/MC/MCWinCOFFObjectWriter.h"
#include "llvm/MC/StringTableBuilder.h"
#include "llvm/Support/CRC.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <ctime>
#include <memory>
#include <string>
#include <vector>
Include dependency graph for WinCOFFObjectWriter.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "WinCOFFObjectWriter"
 

Enumerations

enum  AuxiliaryType
 
enum  : unsigned { Max7DecimalOffset = 9999999U }
 
enum  : uint64_t { MaxBase64Offset = 0xFFFFFFFFFULL }
 

Functions

static uint32_t getAlignment (const MCSectionCOFF &Sec)
 
static uint64_t getSymbolValue (const MCSymbol &Symbol, const MCAsmLayout &Layout)
 
static void encodeBase64StringEntry (char *Buffer, uint64_t Value)
 
static std::time_t getTime ()
 
static bool isAssociative (const COFFSection &Section)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "WinCOFFObjectWriter"

Definition at line 54 of file WinCOFFObjectWriter.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : unsigned
Enumerator
Max7DecimalOffset 

Definition at line 420 of file WinCOFFObjectWriter.cpp.

◆ anonymous enum

anonymous enum : uint64_t
Enumerator
MaxBase64Offset 

Definition at line 421 of file WinCOFFObjectWriter.cpp.

◆ AuxiliaryType

Definition at line 60 of file WinCOFFObjectWriter.cpp.

Function Documentation

◆ encodeBase64StringEntry()

static void encodeBase64StringEntry ( char Buffer,
uint64_t  Value 
)
static

◆ getAlignment()

static uint32_t getAlignment ( const MCSectionCOFF Sec)
static

Definition at line 258 of file WinCOFFObjectWriter.cpp.

References llvm::MCSection::getAlignment(), llvm::MCSectionCOFF::getCharacteristics(), llvm::MCSectionCOFF::getCOMDATSymbol(), llvm::MCSectionCOFF::getSectionName(), llvm::MCSectionCOFF::getSelection(), llvm::COFF::IMAGE_COMDAT_SELECT_ASSOCIATIVE, llvm::COFF::IMAGE_SCN_ALIGN_1024BYTES, llvm::COFF::IMAGE_SCN_ALIGN_128BYTES, llvm::COFF::IMAGE_SCN_ALIGN_16BYTES, llvm::COFF::IMAGE_SCN_ALIGN_1BYTES, llvm::COFF::IMAGE_SCN_ALIGN_2048BYTES, llvm::COFF::IMAGE_SCN_ALIGN_256BYTES, llvm::COFF::IMAGE_SCN_ALIGN_2BYTES, llvm::COFF::IMAGE_SCN_ALIGN_32BYTES, llvm::COFF::IMAGE_SCN_ALIGN_4096BYTES, llvm::COFF::IMAGE_SCN_ALIGN_4BYTES, llvm::COFF::IMAGE_SCN_ALIGN_512BYTES, llvm::COFF::IMAGE_SCN_ALIGN_64BYTES, llvm::COFF::IMAGE_SCN_ALIGN_8192BYTES, llvm::COFF::IMAGE_SCN_ALIGN_8BYTES, llvm::COFF::IMAGE_SYM_CLASS_STATIC, llvm_unreachable, llvm::report_fatal_error(), llvm::ARMBuildAttrs::Section, and llvm::ARMBuildAttrs::Symbol.

Referenced by llvm::slpvectorizer::BoUpSLP::canMapToVector(), llvm::AllocaInst::cloneImpl(), llvm::LoadInst::cloneImpl(), llvm::StoreInst::cloneImpl(), llvm::FunctionComparator::cmpOperations(), emitSignedInt64(), ExpandBVWithShuffles(), llvm::X86InstrInfo::foldMemoryOperandImpl(), getChainID(), llvm::ARMBaseInstrInfo::getNumMicroOps(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::MachineMemOperand::getSizeInBits(), llvm::AttributeSetNode::hasAttributes(), haveSameSpecialState(), isAtomic(), IsSafeAndProfitableToMove(), lowerBuildVectorAsBroadcast(), numVectorEltsOrZero(), rewriteP2Align(), scalarizeBinOpOfSplats(), llvm::AMDGPUTargetLowering::shouldReduceLoadWidth(), llvm::object::SymbolRef::SymbolRef(), and VerifyLowRegs().

◆ getSymbolValue()

static uint64_t getSymbolValue ( const MCSymbol Symbol,
const MCAsmLayout Layout 
)
static

◆ getTime()

static std::time_t getTime ( )
static

◆ isAssociative()

static bool isAssociative ( const COFFSection &  Section)
static