LLVM 22.0.0git
ELF_riscv.cpp File Reference

Go to the source code of this file.

Classes

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, std::shared_ptr< orc::SymbolStringPool > SSP)
 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.