LLVM 19.0.0git
Classes | Namespaces | Macros | Functions
ELF_riscv.cpp File Reference
#include "llvm/ExecutionEngine/JITLink/ELF_riscv.h"
#include "EHFrameSupportImpl.h"
#include "ELFLinkGraphBuilder.h"
#include "JITLinkGeneric.h"
#include "PerGraphGOTAndPLTStubsBuilder.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/ExecutionEngine/JITLink/DWARFRecordSectionSplitter.h"
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/JITLink/riscv.h"
#include "llvm/Object/ELF.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Support/Endian.h"

Go to the source code of this file.

Classes

class  llvm::jitlink::ELFJITLinker_riscv
 
class  llvm::jitlink::ELFLinkGraphBuilder_riscv< ELFT >
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
 

Macros

#define DEBUG_TYPE   "jitlink"
 

Functions

static uint32_t llvm::jitlink::extractBits (uint32_t Num, unsigned Low, unsigned Size)
 
static bool llvm::jitlink::isAlignmentCorrect (uint64_t Value, int N)
 
static bool llvm::jitlink::isInRangeForImm (int64_t Value, int N)
 
static bool llvm::jitlink::shouldRelax (const Section &S)
 
static bool llvm::jitlink::isRelaxable (const Edge &E)
 
static RelaxAux llvm::jitlink::initRelaxAux (LinkGraph &G)
 
static void llvm::jitlink::relaxAlign (orc::ExecutorAddr Loc, const Edge &E, uint32_t &Remove, Edge::Kind &NewEdgeKind)
 
static void llvm::jitlink::relaxCall (const Block &B, BlockRelaxAux &Aux, const RelaxConfig &Config, orc::ExecutorAddr Loc, const Edge &E, uint32_t &Remove, Edge::Kind &NewEdgeKind)
 
static bool llvm::jitlink::relaxBlock (LinkGraph &G, Block &Block, BlockRelaxAux &Aux, const RelaxConfig &Config)
 
static bool llvm::jitlink::relaxOnce (LinkGraph &G, RelaxAux &Aux)
 
static void llvm::jitlink::finalizeBlockRelax (LinkGraph &G, Block &Block, BlockRelaxAux &Aux)
 
static void llvm::jitlink::finalizeRelax (LinkGraph &G, RelaxAux &Aux)
 
static Error llvm::jitlink::relax (LinkGraph &G)
 
Expected< std::unique_ptr< LinkGraph > > llvm::jitlink::createLinkGraphFromELFObject_riscv (MemoryBufferRef ObjectBuffer)
 Create a LinkGraph from an ELF/riscv relocatable object.
 
void llvm::jitlink::link_ELF_riscv (std::unique_ptr< LinkGraph > G, std::unique_ptr< JITLinkContext > Ctx)
 jit-link the given object buffer, which must be a ELF riscv object file.
 
LinkGraphPassFunction llvm::jitlink::createRelaxationPass_ELF_riscv ()
 Returns a pass that performs linker relaxation.
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "jitlink"

Definition at line 26 of file ELF_riscv.cpp.

Variable Documentation

◆ Anchors

SmallVector<SymbolAnchor, 0> Anchors

Definition at line 486 of file ELF_riscv.cpp.

◆ Blocks

DenseMap<Block *, BlockRelaxAux> Blocks

Definition at line 507 of file ELF_riscv.cpp.

Referenced by llvm::WebAssemblyException::addBlock(), addBlockAndPredsToSet(), llvm::LoopBase< BlockT, LoopT >::addBlockEntry(), llvm::jitlink::BlockAddressMap::addBlocks(), llvm::jitlink::BlockAddressMap::addBlocksWithoutChecking(), llvm::SpillPlacement::addPrefSpill(), llvm::msf::MSFBuilder::addStream(), llvm::WebAssemblyException::addToBlocksVector(), llvm::ReversePostOrderTraversal< GraphT, GT >::begin(), llvm::xray::Profile::begin(), llvm::GenericCycle< ContextT >::block_begin(), llvm::GenericCycle< ContextT >::block_end(), llvm::jitlink::Section::blocks(), llvm::jitlink::Section::blocks_size(), llvm::rdf::DataFlowGraph::build(), checkDependencies(), llvm::cloneLoopWithPreheader(), llvm::msf::MSFBuilder::commit(), computeBlockRuns(), llvm::rdf::Liveness::computeLiveIns(), llvm::computeMinimumValueSizes(), llvm::rdf::Liveness::computePhiInfo(), llvm::GenericCycle< ContextT >::contains(), createNaturalLoop(), createNaturalLoopInternal(), llvm::OpenMPIRBuilder::createParallel(), definedInCaller(), definedInRegion(), llvm::jitlink::Section::empty(), llvm::xray::Profile::empty(), llvm::ReversePostOrderTraversal< GraphT, GT >::end(), llvm::xray::Profile::end(), eraseLifetimeMarkersOnInputs(), llvm::CodeExtractor::extractCodeRegion(), llvm::OpenMPIRBuilder::finalize(), llvm::CodeExtractor::findInputsOutputs(), llvm::MachinePostDominatorTree::findNearestCommonDominator(), llvm::pdb::LinePrinter::formatMsfStreamBlocks(), llvm::rdf::Liveness::getAllReachingDefs(), llvm::LoopBase< BlockT, LoopT >::getBlocks(), llvm::WebAssemblyException::getBlocks(), llvm::EdgeBundles::getBlocks(), llvm::LoopBase< BlockT, LoopT >::getBlocksVector(), llvm::WebAssemblyException::getBlocksVector(), getCommonExitBlock(), getGVNForPHINode(), llvm::GenericSyncDependenceAnalysis< ContextT >::getJoinBlocks(), getLoadsAndStores(), llvm::GenericCycle< ContextT >::getNumBlocks(), llvm::LoopBase< BlockT, LoopT >::getNumBlocks(), llvm::WebAssemblyException::getNumBlocks(), llvm::pdb::PDBFile::getStreamLayout(), llvm::MIRParserImpl::initializeJumpTableInfo(), llvm::LoopBase< BlockT, LoopT >::LoopBase(), makeReducible(), mergeBlocksIntoPredecessors(), llvm::LoopBase< BlockT, LoopT >::moveToHeader(), llvm::InsertCFGStrategy::mutate(), nearest_common_dominatee(), nearest_common_dominator(), needToInsertPhisForLCSSA(), llvm::pdb::PDBFile::parseStreamData(), llvm::PeelingModuloScheduleExpander::peelPrologAndEpilogs(), llvm::GenericCycle< ContextT >::print(), rebuildLoopAfterUnswitch(), llvm::remapInstructionsInBlocks(), llvm::LoopBase< BlockT, LoopT >::removeBlockFromLoop(), llvm::LoopBase< BlockT, LoopT >::reserveBlocks(), llvm::WebAssemblyException::reserveBlocks(), llvm::LoopBase< BlockT, LoopT >::reverseBlock(), llvm::WebAssemblyException::reverseBlock(), llvm::SIScheduler::scheduleVariant(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::setDefiningBlocks(), llvm::IDFCalculatorBase< NodeTy, IsPostDom >::setLiveInBlocks(), sinkLastInstruction(), llvm::SIScheduleBlockScheduler::SIScheduleBlockScheduler(), llvm::GenericCycleInfo< ContextT >::validateTree(), and llvm::LoopBase< BlockT, LoopT >::~LoopBase().

◆ Config

RelaxConfig Config

Definition at line 506 of file ELF_riscv.cpp.

Referenced by llvm::rdf::DataFlowGraph::build(), llvm::objcopy::elf::Object::compressOrDecompressSections(), llvm::codelayout::computeCacheDirectedLayout(), createELFWriter(), llvm::objcopy::createNewArchiveMembers(), createWriter(), llvm::objcopy::executeObjcopyOnArchive(), llvm::objcopy::coff::executeObjcopyOnBinary(), llvm::objcopy::elf::executeObjcopyOnBinary(), llvm::objcopy::macho::executeObjcopyOnBinary(), llvm::objcopy::wasm::executeObjcopyOnBinary(), llvm::objcopy::xcoff::executeObjcopyOnBinary(), llvm::objcopy::executeObjcopyOnBinary(), llvm::objcopy::elf::executeObjcopyOnIHex(), llvm::objcopy::macho::executeObjcopyOnMachOUniversalBinary(), llvm::objcopy::elf::executeObjcopyOnRawBinary(), llvm::cl::getCompilerBuildConfig(), llvm::getStandardCSEConfigForOpt(), llvm::objcopy::coff::handleArgs(), handleArgs(), llvm::objcopy::wasm::handleArgs(), llvm::symbolize::JSONPrinter::JSONPrinter(), llvm::jitlink::link_COFF_x86_64(), llvm::jitlink::link_ELF_aarch64(), llvm::jitlink::link_ELF_loongarch(), llvm::jitlink::link_ELF_ppc64(), llvm::jitlink::link_ELF_riscv(), llvm::jitlink::link_ELF_x86_64(), llvm::jitlink::link_MachO_arm64(), llvm::jitlink::link_MachO_x86_64(), llvm::orc::ObjectLinkingLayerJITLinkContext::modifyPassConfig(), llvm::orc::PerfSupportPlugin::modifyPassConfig(), llvm::orc::VTuneSupportPlugin::modifyPassConfig(), llvm::jitlink::relaxBlock(), llvm::jitlink::relaxCall(), removeSections(), llvm::objcopy::wasm::removeSections(), replaceAndRemoveSections(), updateAndRemoveSymbols(), and writeOutput().

◆ EdgeKinds

SmallVector<Edge::Kind, 0> EdgeKinds

Definition at line 494 of file ELF_riscv.cpp.

◆ End

bool End

Definition at line 480 of file ELF_riscv.cpp.

Referenced by accessedBetween(), llvm::HexagonBlockRanges::RangeList::add(), llvm::LiveRangeUpdater::add(), llvm::RuntimeCheckingPtrGroup::addPointer(), llvm::StackLifetime::LiveRange::addRange(), llvm::GCNDownwardRPTracker::advance(), llvm::all_equal(), llvm::orc::MapperJITLinkMemoryManager::allocate(), llvm::User::allocHungoffUses(), llvm::AMDGPURegisterBankInfo::applyMappingImpl(), ARM64FindSegmentsInFunction(), llvm::array_pod_sort(), llvm::DwarfCompileUnit::attachLowHighPC(), llvm::DWARFDie::attribute_iterator::attribute_iterator(), blockPrologueInterferes(), llvm::yaml::BlockScalarNode::BlockScalarNode(), llvm::AggressiveAntiDepBreaker::BreakAntiDependencies(), llvm::CriticalAntiDepBreaker::BreakAntiDependencies(), BuildVectorFromScalar(), calculateSubRanges(), llvm::memprof::CallStack< NodeT, IteratorT >::CallStackIterator::CallStackIterator(), llvm::FileCheck::CanonicalizeFile(), llvm::slpvectorizer::BoUpSLP::canVectorizeLoads(), llvm::CC_M68k_Any_AssignToReg(), checkARM64Instructions(), checkARMInstructions(), llvm::FileCheckString::CheckDag(), llvm::LiveRegMatrix::checkInterference(), llvm::object::BindRebaseSegInfo::checkSegAndOffsets(), llvm::pdb::ClassLayout::ClassLayout(), llvm::codeview::DebugStringTableSubsection::commit(), llvm::ProfileSummaryBuilder::computeDetailedSummary(), computeLabelDiff(), computeLiveInValues(), llvm::SMSchedule::computeStart(), llvm::ConstantFoldTerminator(), llvm::mca::CycleSegment::contains(), llvm::pdb::LayoutItemBase::containsOffset(), llvm::SystemZInstrInfo::convertToThreeAddress(), llvm::convertWideToUTF8(), llvm::AArch64InstrInfo::copyPhysRegTuple(), llvm::CoalescingBitVector< IndexT >::count(), countTrailingNullBytes(), llvm::logicalview::LVBinaryReader::createInstructions(), llvm::TileInfo::CreateTiledLoops(), llvm::mca::CycleSegment::CycleSegment(), llvm::DebugLocEntry::DebugLocEntry(), decodeUTF8(), llvm::detail::deref_or_none(), llvm::SpecificBumpPtrAllocator< T >::DestroyAll(), llvm::DIExpressionCursor::DIExpressionCursor(), llvm::DominatorTree::dominates(), llvm::RangeListEntry::dump(), eliminateSwiftErrorArgument(), llvm::OnDiskChainedHashTableGenerator< Info >::Emit(), llvm::emitAMDGPUPrintfCall(), llvm::MCObjectStreamer::emitCVLinetableDirective(), llvm::DwarfDebug::emitDebugLocEntry(), EmitGenDwarfInfo(), llvm::mcdwarf::emitListsTableHeaderStart(), llvm::AArch64FrameLowering::emitPrologue(), llvm::ARMFrameLowering::emitPrologue(), emitRangeList(), llvm::NVPTXTargetStreamer::emitRawBytes(), llvm::SystemZSelectionDAGInfo::EmitTargetCodeForMemchr(), llvm::MIBundleBuilder::empty(), llvm::gsym::LineTable::encode(), llvm::index_range::end(), llvm::MIBundleBuilder::end(), llvm::mca::CycleSegment::end(), llvm::DIExpressionCursor::end(), llvm::codeview::ContinuationRecordBuilder::end(), llvm::SplitEditor::enterIntvAtEnd(), llvm::GCNIterativeScheduler::enterRegion(), llvm::DebugLocStream::EntryBuilder::EntryBuilder(), llvm::enum_seq(), llvm::enum_seq_inclusive(), expand(), expandBounds(), expandFPToI(), expandIToFP(), llvm::cl::ExpansionContext::expandResponseFiles(), llvm::DWARFListTableHeader::extract(), extractInstructionFeatures(), extractSections(), llvm::FileCheckDiag::FileCheckDiag(), llvm::SIScheduleDAGMI::fillVgprSgprCost(), llvm::SchedDFSImpl::finalize(), llvm::OpenMPIRBuilder::finalize(), llvm::AddressRangesBase< T >::find(), llvm::IntervalTree< PointT, ValueT, DataT >::find_end(), llvm::BitVector::find_first_in(), llvm::BitVector::find_first_unset_in(), llvm::BitVector::find_last_in(), llvm::BitVector::find_last_unset_in(), findCFILocation(), llvm::pdb::NativeFunctionSymbol::findInlineFramesByVA(), findOrCreatePHIBlock(), llvm::findVCToolChainViaEnvironment(), llvm::X86_MC::findX86_64PltEntries(), llvm::X86_MC::findX86PltEntries(), fitsRegularPattern(), fixupAssignments(), llvm::BinOpInit::Fold(), llvm::TernOpInit::Fold(), llvm::InstCombinerImpl::foldCmpLoadFromIndexedGlobal(), llvm::PPCInstrInfo::foldFrameOffset(), foldLoadsRecursive(), llvm::memtag::forAllReachableExits(), llvm::format_provider< llvm::iterator_range< IterT > >::format(), llvm::pdb::LinePrinter::formatMsfStreamData(), generateUnsignedDivisionCode(), llvm::ErrorDiagnostic::get(), llvm::DWARFDebugAbbrev::getAbbreviationDeclarationSet(), llvm::DWARFDebugRnglist::getAbsoluteRanges(), llvm::gsym::GsymReader::getAddressOffsetIndex(), getBits(), llvm::MachineLoop::getBottomBlock(), getBoundedStrlen(), llvm::CallBase::getBundleOpInfoForOperand(), llvm::DWARFAbbreviationDeclarationSet::getCodeRange(), llvm::Loop::LocRange::getEnd(), llvm::BasicBlockEdge::getEnd(), llvm::DebugLocEntry::getEndSym(), llvm::logicalview::LVRange::getEntry(), llvm::GenericCycle< ContextT >::getExitBlocks(), llvm::BasicBlock::getFirstNonPHIOrDbgOrAlloca(), llvm::DIExpressionCursor::getFragmentInfo(), llvm::DIExpression::getFragmentInfo(), llvm::ValueEnumerator::getFunctionConstantRange(), llvm::dxil::ValueEnumerator::getFunctionConstantRange(), getInsertionRange(), llvm::SystemZTTIImpl::getIntImmCostInst(), llvm::coverage::getLineCoverageStats(), llvm::object::ArchiveMemberHeader::getName(), llvm::SchedBoundary::getNextResourceCycle(), llvm::SCEVAddRecExpr::getNumIterationsInRange(), llvm::CallBase::getNumTotalBundleOperands(), llvm::RegisterBankInfo::getOperandsMapping(), llvm::SITargetLowering::getRegForInlineAsmConstraint(), llvm::GCNIterativeScheduler::getRegionPressure(), getRegLiveThroughMask(), llvm::gsym::StringTable::getString(), getStrlenWithNull(), llvm::object::ELFFile< ELFT >::getVersionDefinitions(), llvm::object::ELFFile< ELFT >::getVersionDependencies(), llvm::RegisterBankInfo::OperandsMapper::getVRegs(), llvm::object::GOFFObjectFile::GOFFObjectFile(), llvm::CoalescingBitVector< IndexT >::half_open_range(), hasNearbyPairedStore(), llvm::identifyNoAliasScopesToClone(), llvm::vfs::recursive_directory_iterator::increment(), llvm::index_range::index_range(), INITIALIZE_PASS(), llvm::DWARFVerifier::DieRangeInfo::insert(), llvm::SetVector< T, Vector, Set, N >::insert(), llvm::df_iterator_default_set< NodeRef, SmallSize >::insert(), llvm::MIBundleBuilder::insert(), insertSEHRange(), llvm::instructionsWithoutDebug(), llvm::iota_range< T >::iota_range(), llvm::mca::CycleSegment::isExecuted(), llvm::mca::CycleSegment::isExecuting(), llvm::object::ExportDirectoryEntryRef::isForwarder(), llvm::isGuaranteedToTransferExecutionToSuccessor(), llvm::LiveRange::isLocal(), isMemModifiedBetween(), llvm::SystemZInstrInfo::isRxSBGMask(), llvm::BasicBlockEdge::isSingleEdge(), llvm::LiveRange::isUndefIn(), llvm::mca::CycleSegment::isValid(), llvm::SystemZVectorConstantInfo::isVectorConstantLegal(), IsVPRDefinedOrKilledByBlock(), llvm::SIInstrInfo::legalizeOperands(), llvm::object::Lexer::lex(), llvm::MachineBasicBlock::liveout_iterator::liveout_iterator(), loadMBUFScalarOperandsFromVGPR(), llvm::vfs::RedirectingFileSystem::lookupPath(), llvm::vfs::RedirectingFileSystem::LookupResult::LookupResult(), lowerVECTOR_SHUFFLE_ILVEV(), lowerVECTOR_SHUFFLE_ILVL(), lowerVECTOR_SHUFFLE_ILVOD(), lowerVECTOR_SHUFFLE_ILVR(), lowerVECTOR_SHUFFLE_PCKEV(), lowerVECTOR_SHUFFLE_PCKOD(), makeEndMinusStartExpr(), llvm::IRSimilarity::IRInstructionMapper::mapToIllegalUnsigned(), maybeMoveCFI(), maybeRewriteToFallthrough(), mayBeVisibleThroughUnwinding(), MayContainThrowingOrExitingCallAfterCB(), llvm::Instruction::mergeDIAssignID(), llvm::DebugLocEntry::MergeRanges(), llvm::MIBundleBuilder::MIBundleBuilder(), llvm::object::ResourceEntryRef::moveNext(), llvm::object::COFFObjectFile::moveSymbolNext(), llvm::next_nodbg(), llvm::detail::next_or_end(), nextIfDebug(), llvm::BranchProbability::normalizeProbabilities(), llvm::Loop::LocRange::operator bool(), llvm::DIExpressionCursor::operator bool(), llvm::MCSymbol::operator new(), llvm::DenseMapIterator< KeyT, ValueT, KeyInfoT, Bucket, IsConst >::operator*(), llvm::SmallPtrSetIterator< PtrTy >::operator*(), llvm::DenseMapIterator< KeyT, ValueT, KeyInfoT, Bucket, IsConst >::operator++(), llvm::mca::CycleSegment::operator--(), llvm::DenseMapIterator< KeyT, ValueT, KeyInfoT, Bucket, IsConst >::operator->(), llvm::msgpack::Reader::operator=(), llvm::IntervalMap< KeyT, ValT, N, Traits >::operator=(), llvm::CoalescingBitVector< IndexT >::operator|=(), llvm::SplitEditor::overlapIntv(), llvm::LiveRange::overlaps(), llvm::parallelFor(), llvm::parallelForEach(), llvm::parallelSort(), llvm::parallelTransformReduce(), llvm::DWARFDebugLine::LineTable::parse(), llvm::object::WindowsResourceParser::parse(), llvm::Pattern::parsePattern(), llvm::LLParser::parseTypeAtBeginning(), llvm::DIExpressionCursor::peek(), llvm::DIExpressionCursor::peekNext(), llvm::SwiftErrorValueTracking::preassignVRegs(), llvm::CoalescingBitVector< IndexT >::print(), llvm::RegisterBank::print(), llvm::FunctionVarLocs::print(), printLivenessInfo(), printRegion(), PrintValueSet(), llvm::Pattern::printVariableDefs(), llvm::logicalview::LVBinaryReader::processLines(), ProcessMatchResult(), processSingleLocVars(), programUndefinedIfUndefOrPoison(), rangeOnlyContains(), false::Chain::rangeOverlapsWith(), readBinaryIdsInternal(), llvm::InstrProfLookupTrait::ReadData(), llvm::InstrProfLookupTrait::readValueProfilingData(), llvm::recomputeVPTBlockMask(), llvm::vfs::RedirectingFSDirIterImpl::RedirectingFSDirIterImpl(), llvm::rdf::RegisterAggr::ref_iterator::ref_iterator(), llvm::RegisterBankInfo::RegisterBankInfo(), llvm::RuntimeDyldMachOCRTPBase< Impl >::registerEHFrames(), llvm::jitlink::relaxBlock(), removeCoroEnds(), llvm::objcopy::macho::Object::removeSections(), llvm::LiveRange::removeSegment(), llvm::SlotIndexes::repairIndexesInRange(), llvm::RegBankSelect::RepairingPlacement::RepairingPlacement(), llvm::LiveIntervals::repairIntervalsInRange(), replaceCoroEnd(), replaceCoroEndAsync(), replaceFallthroughCoroEnd(), replaceTargetsFromPHINode(), replaceUnwindCoroEnd(), llvm::R600InstrInfo::reserveIndirectRegisters(), llvm::FunctionSpecializer::run(), llvm::AMDGPUResourceUsageAnalysis::runOnModule(), llvm::yaml::ScalarNode::ScalarNode(), scanInlinedCode(), scanOneBB(), llvm::object::SectionFilterIterator::SectionFilterIterator(), llvm::seq(), llvm::seq_inclusive(), llvm::CoalescingBitVector< IndexT >::set(), llvm::mca::CycleSegment::setEnd(), llvm::yaml::Scanner::setError(), llvm::SCCPInstVisitor::setLatticeValueForSpecializationArguments(), llvm::RAGreedy::ExtraRegInfo::setStage(), llvm::SetVector< T, Vector, Set, N >::SetVector(), shouldSpeculateInstrs(), shouldUseMmap(), simplifyX86extrq(), simplifyX86insertq(), llvm::mca::CycleSegment::size(), llvm::skipDebugInstructionsForward(), llvm::LoopNest::skipEmptyBlockUntil(), skipToNextUser(), llvm::SmallString< InternalLen >::slice(), llvm::StringRef::slice(), llvm::SmallSetVector< T, N >::SmallSetVector(), llvm::simple_ilist< T, Options >::sort(), llvm::sort(), splitAsyncCoroutine(), llvm::SplitBlockAndInsertSimpleForLoop(), llvm::SplitIndirectBrCriticalEdges(), llvm::mca::CycleSegment::startsAfter(), llvm::sys::unicode::startsWith(), startsWithLocalScopePattern(), STATISTIC(), llvm::Regex::sub(), llvm::VarStreamArray< ValueType, Extractor >::substream(), llvm::mca::CycleSegment::subtract(), llvm::SuffixTree::SuffixTree(), llvm::DIExpressionCursor::take(), llvm::cl::tokenizeConfigFile(), llvm::at::trackAssignments(), trackInlinedStores(), llvm::HexagonInstrInfo::translateInstrsForDup(), tryARM64PackedUnwind(), tryToVectorizeSequence(), updateCallGraphAfterCoroutineSplit(), llvm::MachineTraceMetrics::Ensemble::updateDepths(), llvm::SplitEditor::useIntv(), llvm::orc::ELFDebugObjectSection< ELFT >::validateInBounds(), llvm::RegisterBank::verify(), llvm::RegisterBankInfo::verify(), llvm::misexpect::verifyMisExpect(), verifyPhiRecipes(), llvm::InstVisitor< SubClass, RetTy >::visit(), llvm::SelectionDAGBuilder::visitDbgInfo(), llvm::codeview::CVSymbolVisitor::visitSymbolStreamFiltered(), walkToAllocaAndPrependOffsetDeref(), llvm::VirtRegAuxInfo::weightCalcHelper(), llvm::MachObjectWriter::writeObject(), and writtenBetween().

◆ HasRVC

bool HasRVC

◆ IsRV32

bool IsRV32

Definition at line 501 of file ELF_riscv.cpp.

◆ Offset

uint64_t Offset

◆ RelaxEdges

SmallVector<Edge *, 0> RelaxEdges

Definition at line 489 of file ELF_riscv.cpp.

◆ RelocDeltas

SmallVector<uint32_t, 0> RelocDeltas

Definition at line 492 of file ELF_riscv.cpp.

◆ Sym

Symbol* Sym

Definition at line 479 of file ELF_riscv.cpp.

Referenced by llvm::jitlink::absoluteSymbolsLinkGraph(), accumulateLocs(), llvm::jitlink::LinkGraph::addAbsoluteSymbol(), llvm::MCObjectWriter::addAddrsigSymbol(), llvm::jitlink::LinkGraph::addAnonymousSymbol(), llvm::CSKYTargetStreamer::addConstantPoolEntry(), llvm::BTFKindDataSec::addDataSecEntry(), llvm::jitlink::LinkGraph::addDefinedSymbol(), llvm::jitlink::LinkGraph::addExternalSymbol(), llvm::orc::addFunctionPointerRelocationsToCurrentSymbol(), llvm::MachO::SymbolSet::addGlobal(), llvm::pdb::GSIStreamBuilder::addGlobalSymbol(), llvm::DwarfCompileUnit::addLocationAttribute(), llvm::LTOCodeGenerator::addMustPreserveSymbol(), llvm::DwarfUnit::addOpAddress(), llvm::MCObjectStreamer::addPendingLabel(), llvm::MachineInstrBuilder::addSym(), llvm::orc::MachOBuilder< MachOTraits >::Section::addSymbol(), llvm::orc::MachOBuilder< MachOTraits >::addSymbol(), llvm::jitlink::SymbolAddressMap::addSymbol(), llvm::objcopy::elf::SymbolTableSection::addSymbol(), llvm::jitlink::SymbolAddressMap::addSymbols(), llvm::MipsTargetLowering::AdjustInstrPostInstrSelection(), llvm::ModuloScheduleTestAnnotater::annotate(), llvm::DwarfCFIException::beginBasicBlockSection(), llvm::WinException::beginFunclet(), canExpand(), llvm::MachineOperand::ChangeToMCSymbol(), checkARM64PackedEpilog(), llvm::pdb::DbiModuleDescriptorBuilder::commitSymbolStream(), llvm::object::computeSymbolSizes(), llvm::gsym::ObjectFileTransformer::convert(), llvm::MCSymbolRefExpr::create(), llvm::lto::InputFile::create(), llvm::MachineOperand::CreateMCSymbol(), llvm::jitlink::MachOLinkGraphBuilder::createNormalizedSymbol(), createSparcMCOperand(), createVEMCOperand(), llvm::DbgLabel::DbgLabel(), llvm::codeview::discoverTypeIndicesInSymbol(), llvm::jitlink::LinkGraph::dump(), llvm::sampleprof::ProfileSymbolList::dump(), llvm::object::ELFObjectFile< ELFT >::dynamic_symbol_end(), llvm::orc::RTDyldObjectLinkingLayer::emit(), llvm::MCObjectStreamer::emitAddrsigSym(), llvm::AsmPrinter::emitBasicBlockStart(), EmitCamlGlobal(), llvm::MCStreamer::emitCFILsda(), llvm::MCStreamer::emitCFIPersonality(), llvm::RuntimeDyldImpl::emitCommonSymbols(), llvm::AsmPrinter::emitConstantPool(), llvm::WebAssemblyAsmPrinter::emitDecls(), llvm::MipsTargetAsmStreamer::emitDirectiveCpsetup(), llvm::MipsTargetELFStreamer::emitDirectiveCpsetup(), llvm::MipsTargetELFStreamer::emitDirectiveEnd(), llvm::WebAssemblyTargetAsmStreamer::emitExportName(), llvm::WebAssemblyAsmPrinter::EmitFunctionAttributes(), llvm::AsmPrinter::emitFunctionBody(), llvm::AsmPrinter::emitFunctionEntryLabel(), llvm::WebAssemblyTargetAsmStreamer::emitFunctionType(), llvm::WebAssemblyTargetAsmStreamer::emitGlobalType(), llvm::WebAssemblyAsmPrinter::emitGlobalVariable(), llvm::WebAssemblyTargetAsmStreamer::emitImportModule(), llvm::WebAssemblyTargetAsmStreamer::emitImportName(), EmitInlineAsmStr(), llvm::ARMAsmPrinter::emitMachineConstantPoolValue(), llvm::CSKYAsmPrinter::emitMachineConstantPoolValue(), llvm::AsmPrinter::emitPCSections(), llvm::TargetLoweringObjectFileELF::emitPersonalityValue(), emitRangeList(), llvm::VETargetLowering::emitSjLjDispatchBlock(), llvm::MCXCOFFStreamer::emitSymbolAttribute(), llvm::WebAssemblyAsmPrinter::emitSymbolType(), llvm::MCStreamer::emitSymbolValue(), llvm::WebAssemblyTargetAsmStreamer::emitTableType(), llvm::WebAssemblyTargetAsmStreamer::emitTagType(), llvm::AVRMCELFStreamer::emitValueForModiferKind(), llvm::AsmPrinter::emitVisibility(), llvm::MCStreamer::emitWinEHHandler(), llvm::DwarfCFIException::endModule(), llvm::MCStreamer::endSection(), llvm::AVRMCExpr::evaluateAsRelocatableImpl(), llvm::PPCMCExpr::evaluateAsRelocatableImpl(), llvm::MCExpr::evaluateAsRelocatableImpl(), llvm::orc::JITCompileCallbackManager::executeCompileCallback(), llvm::MachO::InterfaceFile::extract(), llvm::objcopy::elf::SymbolTableSection::fillShndxTable(), llvm::ifs::filterIFSSyms(), llvm::objcopy::elf::SymbolTableSection::finalize(), llvm::MachObjectWriter::findAliasedSymbol(), llvm::MCExpr::findAssociatedFragment(), llvm::MCJIT::findSymbol(), llvm::symbolize::SymbolizableObjectFile::findSymbol(), llvm::jitlink::MachOLinkGraphBuilder::findSymbolByAddress(), llvm::pdb::SymbolCache::findSymbolBySectOffset(), llvm::DwarfCompileUnit::finishEntityDefinition(), llvm::MCObjectStreamer::flushPendingLabels(), llvm::AddrLabelMap::getAddrLabelSymbolToEmit(), llvm::MachineFunction::getCallSiteLandingPad(), llvm::TargetLoweringObjectFileMachO::getCFIPersonalitySymbol(), llvm::orc::getCOFFObjectFileSymbolInfo(), llvm::object::ResourceSectionRef::getContents(), llvm::AsmPrinter::GetCPISymbol(), llvm::TargetLoweringObjectFile::getDebugThreadLocalSymbol(), llvm::ARMElfTargetObjectFile::getDebugThreadLocalSymbol(), llvm::MipsTargetObjectFile::getDebugThreadLocalSymbol(), llvm::SystemZELFTargetObjectFile::getDebugThreadLocalSymbol(), llvm::X86ELFTargetObjectFile::getDebugThreadLocalSymbol(), llvm::orc::getELFObjectFileSymbolInfo(), llvm::TargetLoweringObjectFileCOFF::getExplicitSectionGlobal(), llvm::MCAsmInfo::getExprForFDESymbol(), llvm::RISCVMCAsmInfo::getExprForFDESymbol(), llvm::SparcELFMCAsmInfo::getExprForFDESymbol(), llvm::MCAsmInfo::getExprForPersonalitySymbol(), llvm::AArch64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::SparcELFMCAsmInfo::getExprForPersonalitySymbol(), llvm::X86_64MCAsmInfoDarwin::getExprForPersonalitySymbol(), llvm::object::getExtendedSymbolTableIndex(), llvm::SelectionDAG::getExternalSymbol(), llvm::AsmPrinter::GetExternalSymbolSymbol(), getFlags(), llvm::orc::getGenericObjectFileSymbolInfo(), llvm::MachineModuleInfoMachO::getGVStubEntry(), llvm::MachineModuleInfoELF::getGVStubEntry(), llvm::MachineModuleInfoCOFF::getGVStubEntry(), llvm::AddressPool::getIndex(), llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(), llvm::AArch64_ELFTargetObjectFile::getIndirectSymViaGOTPCRel(), llvm::AArch64_MachoTargetObjectFile::getIndirectSymViaGOTPCRel(), llvm::ARMElfTargetObjectFile::getIndirectSymViaGOTPCRel(), llvm::RISCVELFTargetObjectFile::getIndirectSymViaGOTPCRel(), llvm::X86_64MachoTargetObjectFile::getIndirectSymViaGOTPCRel(), llvm::X86_64ELFTargetObjectFile::getIndirectSymViaGOTPCRel(), llvm::ARMElfTargetObjectFile::getIndirectSymViaRWPI(), llvm::orc::getMachOObjectFileSymbolInfo(), llvm::SelectionDAG::getMCSymbol(), getMethodBatch(), llvm::object::getNameType(), llvm::object::MachOObjectFile::getNValue(), llvm::getOffset(), llvm::MipsTargetLowering::getOpndList(), llvm::WebAssembly::getOrCreateFuncrefCallTableSymbol(), llvm::WebAssembly::getOrCreateFunctionTableSymbol(), llvm::pdb::SymbolCache::getOrCreateInlineSymbol(), llvm::MCContext::getOrCreateSymbol(), llvm::object::ELFObjectFileBase::getPltEntries(), llvm::MCJIT::getPointerToNamedFunction(), llvm::jitlink::ELFLinkGraphBuilder< ELFT >::getRawOffset(), llvm::jitlink::ELFLinkGraphBuilder_aarch32< DataEndianness >::getRawOffset(), llvm::object::MachOObjectFile::getRelocationSymbol(), llvm::object::WasmObjectFile::getRelocationSymbol(), llvm::LegacyJITSymbolResolver::getResponsibilitySet(), llvm::codeview::getScopeEndOffset(), llvm::codeview::getScopeParentOffset(), llvm::object::ELFFile< ELFT >::getSection(), llvm::TargetLoweringObjectFileCOFF::getSectionForJumpTable(), llvm::TargetLoweringObjectFileXCOFF::getSectionForTOCEntry(), llvm::object::ELFFile< ELFT >::getSectionIndex(), llvm::MipsCCState::getSpecialCallingConvForCallee(), llvm::DebugLocStream::getSym(), llvm::MCSymbolIdFragment::getSymbol(), llvm::DbgLabel::getSymbol(), llvm::object::ELFObjectFile< ELFT >::getSymbol(), llvm::MachO::InterfaceFile::getSymbol(), llvm::MCJIT::getSymbolAddress(), llvm::object::MachOObjectFile::getSymbolAddress(), llvm::object::WasmObjectFile::getSymbolAddress(), llvm::objcopy::elf::SymbolTableSection::getSymbolByIndex(), llvm::object::ELFObjectFile< ELFT >::getSymbolFlags(), llvm::object::WasmObjectFile::getSymbolFlags(), llvm::M68kMCInstLower::GetSymbolFromOperand(), GetSymbolFromOperand(), getSymbolInfo(), llvm::jitlink::ELFLinkGraphBuilder< ELFT >::getSymbolLinkageAndScope(), llvm::codeview::getSymbolName(), llvm::object::ELFObjectFile< ELFT >::getSymbolName(), getSymbolNameOffset(), llvm::RuntimeDyldCOFF::getSymbolOffset(), llvm::MCStreamer::getSymbolOrder(), llvm::object::WasmObjectFile::getSymbolSection(), getSymbolSectionID(), llvm::object::COFFObjectFile::getSymbolSectionID(), llvm::object::WasmObjectFile::getSymbolSectionId(), llvm::object::XCOFFObjectFile::getSymbolSectionID(), llvm::object::MachOObjectFile::getSymbolSectionID(), llvm::object::WasmObjectFile::getSymbolSize(), llvm::object::WasmObjectFile::getSymbolType(), llvm::SelectionDAG::getTargetExternalSymbol(), llvm::MachineModuleInfoMachO::getThreadLocalGVStubEntry(), llvm::TargetLoweringObjectFileELF::getTTypeGlobalReference(), llvm::TargetLoweringObjectFileMachO::getTTypeGlobalReference(), llvm::AArch64_MachoTargetObjectFile::getTTypeGlobalReference(), llvm::SparcELFTargetObjectFile::getTTypeGlobalReference(), llvm::X86_64MachoTargetObjectFile::getTTypeGlobalReference(), llvm::TargetLoweringObjectFile::getTTypeReference(), getType(), llvm::object::WasmObjectFile::getWasmSymbolValue(), llvm::jitlink::COFFLinkGraphBuilder::graphifySymbols(), llvm::jitlink::ELFLinkGraphBuilder< ELFT >::graphifySymbols(), llvm::objcopy::coff::handleArgs(), llvm::MachineFunction::hasCallSiteLandingPad(), llvm::LTOModule::hasCtorDtor(), llvm::jitlink::aarch32::hasTargetFlags(), llvm::HexagonAsmPrinter::HexagonProcessInstruction(), llvm::jitlink::identifyELFSectionStartAndEndSymbols(), llvm::jitlink::identifyMachOSectionStartAndEndSymbols(), llvm::pdb::UDTLayoutBase::initializeChildren(), llvm::jitlink::initRelaxAux(), initRelocations(), isAArch64MappingSymbol(), isArmMappingSymbol(), llvm::MCAsmBackend::isDarwinCanonicalPersonality(), llvm::object::isDecorated(), isInSymtab(), llvm::MipsAsmBackend::isMicroMips(), isRequiredByABISymbol(), llvm::MCParserUtils::isSymbolUsedInExpression(), llvm::MCAssembler::isThumbFunc(), isUnneededSymbol(), llvm::orc::MachOBuilder< MachOTraits >::layout(), LLVM_YAML_IS_SEQUENCE_VECTOR(), LLVMGetSectionContainsSymbol(), LLVMMoveToContainingSection(), LLVMOrcLLJITLookup(), LLVMOrcMaterializationResponsibilityGetInitializerSymbol(), llvm::RuntimeDyldImpl::loadObjectImpl(), llvm::LegacyJITSymbolResolver::lookup(), llvm::orc::LLJIT::lookupLinkerMangled(), llvm::orc::SelfExecutorProcessControl::lookupSymbolsAsync(), llvm::FastISel::lowerCallTo(), llvm::VETargetLowering::LowerCustomJumpTableEntry(), llvm::MSP430TargetLowering::LowerExternalSymbol(), AMDGPUMCInstLower::lowerOperand(), llvm::AArch64MCInstLower::LowerSymbolOperand(), llvm::BPFMCInstLower::LowerSymbolOperand(), llvm::CSKYMCInstLower::lowerSymbolOperand(), llvm::LanaiMCInstLower::LowerSymbolOperand(), llvm::M68kMCInstLower::LowerSymbolOperand(), llvm::MSP430MCInstLower::LowerSymbolOperand(), lowerSymbolOperand(), llvm::AVRMCInstLower::lowerSymbolOperand(), llvm::AArch64MCInstLower::lowerSymbolOperandCOFF(), llvm::AArch64MCInstLower::lowerSymbolOperandELF(), llvm::AArch64MCInstLower::lowerSymbolOperandMachO(), llvm::HexagonTargetLowering::LowerToTLSGeneralDynamicModel(), llvm::HexagonTargetLowering::LowerToTLSInitialExecModel(), llvm::HexagonTargetLowering::LowerToTLSLocalExecModel(), llvm::jitlink::LinkGraph::makeAbsolute(), llvm::jitlink::LinkGraph::makeDefined(), llvm::jitlink::LinkGraph::makeExternal(), llvm::jitlink::ELFLinkGraphBuilder_aarch32< DataEndianness >::makeTargetFlags(), llvm::jitlink::makeTargetOutOfRangeError(), llvm::jitlink::markAllSymbolsLive(), llvm::objcopy::coff::Object::markSymbols(), llvm::MCSymbolIdFragment::MCSymbolIdFragment(), llvm::MachO::InterfaceFile::merge(), llvm::sampleprof::ProfileSymbolList::merge(), llvm::object::ELFObjectFile< ELFT >::moveSymbolNext(), llvm::orc::ObjectLinkingLayerJITLinkContext::notifyResolved(), llvm::orc::AsynchronousSymbolQuery::notifySymbolMetRequiredState(), llvm::jitlink::DWARFRecordSectionSplitter::operator()(), llvm::jitlink::DefineExternalSectionStartAndEndSymbols< SymbolIdentifierFunction >::operator()(), llvm::jitlink::EHFrameEdgeFixer::operator()(), llvm::jitlink::SEHFrameKeepAlivePass::operator()(), llvm::operator<<(), llvm::jitlink::operator<<(), llvm::orc::operator<<(), llvm::MachO::Symbol::operator==(), llvm::MCParserUtils::parseAssignmentExpression(), AbstractManglingParser< Derived, Alloc >::parseExpr(), llvm::ifs::populateSymbols(), llvm::objcopy::elf::SymbolTableSection::prepareForLayout(), llvm::AccelTableBase::HashData::print(), llvm::X86Operand::print(), llvm::MCExpr::print(), llvm::CSKYAsmPrinter::PrintAsmOperand(), llvm::WebAssemblyInstPrinter::printOperand(), llvm::NVPTXInstPrinter::printProtoIdent(), llvm::MachineOperand::printSymbol(), llvm::object::TapiFile::printSymbolName(), llvm::WebAssemblyInstPrinter::printWebAssemblySignatureOperand(), llvm::jitlink::prune(), llvm::memprof::RawMemProfReader::RawMemProfReader(), readDynsymVersionsImpl(), readSymbols(), llvm::MCContext::registerInlineAsmLabel(), llvm::jitlink::relaxBlock(), llvm::MachO::InterfaceFile::remove(), llvm::jitlink::LinkGraph::removeAbsoluteSymbol(), llvm::jitlink::LinkGraph::removeBlock(), llvm::jitlink::LinkGraph::removeDefinedSymbol(), llvm::jitlink::LinkGraph::removeExternalSymbol(), llvm::objcopy::elf::SymbolTableSection::removeSectionReferences(), llvm::objcopy::coff::Object::removeSections(), llvm::objcopy::macho::Object::removeSections(), llvm::objcopy::elf::SymbolTableSection::removeSymbols(), llvm::objcopy::coff::Object::removeSymbols(), llvm::objcopy::elf::SymbolTableSection::replaceSectionReferences(), llvm::TargetLoweringObjectFileCOFF::SelectSectionForGlobal(), llvm::MCSection::setBeginSymbol(), llvm::FastISel::CallLoweringInfo::setCallee(), llvm::MachineFunction::setCallSiteLandingPad(), llvm::jitlink::COFFLinkGraphBuilder::setGraphSymbol(), llvm::jitlink::ELFLinkGraphBuilder< ELFT >::setGraphSymbol(), llvm::AddressPool::setLabel(), llvm::DwarfFile::setRnglistsTableBaseSym(), llvm::DwarfFile::setStringOffsetsStartSym(), llvm::DebugLocStream::setSym(), llvm::objcopy::elf::GroupSection::setSymbol(), llvm::DwarfDebug::setSymbolSize(), llvm::MCContext::setSymbolValue(), llvm::ARMAsmBackend::shouldForceRelocation(), smallData(), llvm::jitlink::LinkGraph::splitBlock(), llvm::MCStreamer::switchSection(), llvm::object::ELFObjectFile< ELFT >::symbol_begin(), llvm::object::ELFObjectFile< ELFT >::symbol_end(), llvm::orc::SymbolsNotFound::SymbolsNotFound(), LLVMOrcLazyCallThroughManagerRef::toSymbolDependenceMap(), LLVMOrcLazyCallThroughManagerRef::toSymbolMap(), llvm::jitlink::LinkGraph::transferDefinedSymbol(), llvm::AMDGPUSymbolizer::tryAddingSymbolicOperand(), llvm::MCExternalSymbolizer::tryAddingSymbolicOperand(), llvm::AArch64ExternalSymbolizer::tryAddingSymbolicOperand(), llvm::pdb::UDTLayoutBase::UDTLayoutBase(), updateAndRemoveSymbols(), llvm::AddrLabelMap::UpdateForDeletedBlock(), llvm::objcopy::elf::SymbolTableSection::updateSymbols(), llvm::objcopy::elf::ELFSectionWriter< ELFT >::visit(), llvm::codeview::CVSymbolVisitor::visitSymbolStreamFiltered(), llvm::MCObjectStreamer::visitUsedSymbol(), llvm::WebAssembly::wasmSymbolSetType(), llvm::sampleprof::ProfileSymbolList::write(), writeCOFF(), llvm::codeview::SymbolSerializer::writeOneSymbol(), writeToResolutionFile(), llvm::pdb::NativeInlineSiteSymbol::~NativeInlineSiteSymbol(), and llvm::jitlink::Section::~Section().

◆ Writes

SmallVector<uint32_t, 0> Writes