LLVM: lib/ExecutionEngine/JITLink/ELF_riscv.cpp File Reference (original) (raw)

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
namespace llvm::jitlink
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.

DEBUG_TYPE

#define DEBUG_TYPE "jitlink"