LLVM 22.0.0git
loongarch.h File Reference

Go to the source code of this file.

Classes

 Global Offset Table Builder. More...
 Procedure Linkage Table Builder. More...

Namespaces

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

Enumerations

enum  llvm::jitlink::loongarch::EdgeKind_loongarch : Edge::Kind {
  llvm::jitlink::loongarch::Pointer64 = Edge::FirstRelocation , llvm::jitlink::loongarch::Pointer32 , llvm::jitlink::loongarch::Branch16PCRel , llvm::jitlink::loongarch::Branch21PCRel ,
  llvm::jitlink::loongarch::Branch26PCRel , llvm::jitlink::loongarch::Delta32 , llvm::jitlink::loongarch::NegDelta32 , llvm::jitlink::loongarch::Delta64 ,
  llvm::jitlink::loongarch::Page20 , llvm::jitlink::loongarch::PageOffset12 , llvm::jitlink::loongarch::RequestGOTAndTransformToPage20 , llvm::jitlink::loongarch::RequestGOTAndTransformToPageOffset12 ,
  llvm::jitlink::loongarch::Call36PCRel , llvm::jitlink::loongarch::Add6 , llvm::jitlink::loongarch::Add8 , llvm::jitlink::loongarch::Add16 ,
  llvm::jitlink::loongarch::Add32 , llvm::jitlink::loongarch::Add64 , llvm::jitlink::loongarch::AddUleb128 , llvm::jitlink::loongarch::Sub6 ,
  llvm::jitlink::loongarch::Sub8 , llvm::jitlink::loongarch::Sub16 , llvm::jitlink::loongarch::Sub32 , llvm::jitlink::loongarch::Sub64 ,
  llvm::jitlink::loongarch::SubUleb128 , llvm::jitlink::loongarch::AlignRelaxable
}
 Represents loongarch fixups. More...

Functions

LLVM_ABI const charllvm::jitlink::loongarch::getEdgeKindName (Edge::Kind K)
 Returns a string name for the given loongarch edge.
uint32_t llvm::jitlink::loongarch::extractBits (uint64_t Val, unsigned Hi, unsigned Lo)
Error llvm::jitlink::loongarch::applyFixup (LinkGraph &G, Block &B, const Edge &E)
 Apply fixup expression for edge to block content.
ArrayRef< charllvm::jitlink::loongarch::getGOTEntryBlockContent (LinkGraph &G)
ArrayRef< charllvm::jitlink::loongarch::getStubBlockContent (LinkGraph &G)
Symbolllvm::jitlink::loongarch::createAnonymousPointer (LinkGraph &G, Section &PointerSection, Symbol *InitialTarget=nullptr, uint64_t InitialAddend=0)
 Creates a new pointer block in the given section and returns an Anonymous symbol pointing to it.
Symbolllvm::jitlink::loongarch::createAnonymousPointerJumpStub (LinkGraph &G, Section &StubSection, Symbol &PointerSymbol)
 Create a jump stub that jumps via the pointer at the given symbol and an anonymous symbol pointing to it.

Variables

LLVM_ABI const char llvm::jitlink::loongarch::NullPointerContent [8]
 loongarch null pointer content.
constexpr size_t llvm::jitlink::loongarch::StubEntrySize = 12
 loongarch stub content.
LLVM_ABI const uint8_t llvm::jitlink::loongarch::LA64StubContent [StubEntrySize]
LLVM_ABI const uint8_t llvm::jitlink::loongarch::LA32StubContent [StubEntrySize]