LLVM 22.0.0git
HexagonMCCodeEmitter.cpp File Reference
#include "MCTargetDesc/HexagonMCCodeEmitter.h"
#include "MCTargetDesc/HexagonBaseInfo.h"
#include "MCTargetDesc/HexagonFixupKinds.h"
#include "MCTargetDesc/HexagonMCExpr.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCFixup.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/EndianStream.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <map>
#include <string>
#include <vector>
#include "HexagonGenMCCodeEmitter.inc"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "mccodeemitter"
#define _   fixup_Invalid
#define P(x)

Functions

 STATISTIC (MCNumEmitted, "Number of MC instructions emitted")
static void addFixup (SmallVectorImpl< MCFixup > &Fixups, uint32_t Offset, const MCExpr *Value, uint16_t Kind)
static bool RegisterMatches (MCRegister Consumer, MCRegister Producer, MCRegister Producer2)
static void raise_relocation_error (unsigned Width, unsigned Kind)
static bool isPCRel (unsigned Kind)

Variables

static const unsigned fixup_Invalid = ~0u
static const std::map< unsigned, std::vector< unsigned > > ExtFixups
static const std::map< unsigned, std::vector< unsigned > > StdFixups

Macro Definition Documentation

◆ _

#define _   fixup_Invalid

Definition at line 46 of file HexagonMCCodeEmitter.cpp.

Referenced by canFoldStoreIntoLibCallOutputPointers(), llvm::CtxProfAnalysis::collectIndirectCallPromotionList(), llvm::VPRecipeBuilder::collectScaledReductions(), llvm::RISCVInstrInfo::copyPhysRegVector(), llvm::raw_socket_stream::createConnectedUnix(), llvm::ir2vec::Vocabulary::createDummyVocabForTest(), llvm::ListeningSocket::createUnix(), llvm::MCExpr::evaluateAsRelocatableImpl(), llvm::ModuleSummaryIndex::exportToDot(), llvm::MachO::RecordsSlice::findObjCIVar(), llvm::PGOContextualProfile::flatten(), llvm::PGOContextualProfile::flattenVirtCalls(), llvm::PGOCtxProfContext::getContainedGuids(), llvm::BasicAAResult::getModRefInfoMask(), llvm::dwarf::RegisterLocations::getRegisters(), inferInitializes(), llvm::PGOCtxProfContext::ingestAllContexts(), INITIALIZE_PASS(), llvm::MCAssembler::layout(), llvm::orc::LLJIT::LLJIT(), LLTToBId(), LLTToId(), llvm::orc::ExecutionSession::lookup(), llvm::RISCVRegisterInfo::lowerSegmentSpillReload(), llvm::CombinerHelper::matchConstantFoldFMA(), matchUniformityAndLLT(), llvm::operator<<(), llvm::GCNTargetMachine::parseMachineFunctionInfo(), preorderVisit(), preorderVisitOneRoot(), llvm::promoteCallWithIfThenElse(), llvm::CtxProfAnalysis::run(), llvm::GCNDPPCombinePass::run(), llvm::LiveDebugVariablesAnalysis::run(), llvm::MachineCopyPropagationPass::run(), llvm::MachineCSEPass::run(), llvm::MachineLateInstrsCleanupPass::run(), llvm::PatchableFunctionPass::run(), llvm::PeepholeOptimizerPass::run(), llvm::PostRAMachineSinkingPass::run(), llvm::PostRASchedulerPass::run(), llvm::ReachingDefPrinterPass::run(), llvm::RegAllocFastPass::run(), llvm::RegisterCoalescerPass::run(), llvm::RemoveLoadsIntoFakeUsesPass::run(), llvm::ShrinkWrapPass::run(), llvm::SIFoldOperandsPass::run(), llvm::SILoadStoreOptimizerPass::run(), llvm::SILowerSGPRSpillsPass::run(), llvm::SIOptimizeVGPRLiveRangePass::run(), llvm::SIWholeQuadModePass::run(), llvm::TailDuplicatePassBase< DerivedT, PreRegAlloc >::run(), llvm::TwoAddressInstructionPass::run(), llvm::VirtRegRewriterPass::run(), RAGreedyPass::run(), llvm::simplifyLoopIVs(), SRAGlobal(), llvm::RISCVISAInfo::toFeatures(), llvm::orc::StaticLibraryDefinitionGenerator::tryToGenerate(), llvm::VPRecipeBuilder::updateBlockMaskCache(), llvm::VirtRegAuxInfo::weightCalcHelper(), llvm::memprof::RawMemProfReader::~RawMemProfReader(), and llvm::orc::SimpleLazyReexportsSpeculator::~SimpleLazyReexportsSpeculator().

◆ DEBUG_TYPE

#define DEBUG_TYPE   "mccodeemitter"

Definition at line 36 of file HexagonMCCodeEmitter.cpp.

◆ P

#define P ( x)
Value:
Hexagon::fixup_Hexagon##x

Definition at line 47 of file HexagonMCCodeEmitter.cpp.

Function Documentation

◆ addFixup()

◆ isPCRel()

◆ raise_relocation_error()

void raise_relocation_error ( unsigned Width,
unsigned Kind )
static

◆ RegisterMatches()

bool RegisterMatches ( MCRegister Consumer,
MCRegister Producer,
MCRegister Producer2 )
static

◆ STATISTIC()

STATISTIC ( MCNumEmitted ,
"Number of MC instructions emitted"  )

Variable Documentation

◆ ExtFixups

const std::map<unsigned, std::vector<unsigned> > ExtFixups
static

Definition at line 48 of file HexagonMCCodeEmitter.cpp.

◆ fixup_Invalid

const unsigned fixup_Invalid = ~0u
static

Definition at line 43 of file HexagonMCCodeEmitter.cpp.

◆ StdFixups

const std::map<unsigned, std::vector<unsigned> > StdFixups
static

Definition at line 172 of file HexagonMCCodeEmitter.cpp.