LLVM 22.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
x86.h File Reference
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/JITLink/TableManager.h"
#include "llvm/Support/Compiler.h"

Go to the source code of this file.

Classes

class  llvm::jitlink::x86::GOTTableManager
 Global Offset Table Builder. More...
 
class  llvm::jitlink::x86::PLTTableManager
 Procedure Linkage Table Builder. More...
 

Namespaces

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

Enumerations

enum  llvm::jitlink::x86::EdgeKind_x86 : Edge::Kind {
  llvm::jitlink::x86::Pointer32 = Edge::FirstRelocation , llvm::jitlink::x86::PCRel32 , llvm::jitlink::x86::Pointer16 , llvm::jitlink::x86::PCRel16 ,
  llvm::jitlink::x86::Delta32 , llvm::jitlink::x86::Delta32FromGOT , llvm::jitlink::x86::RequestGOTAndTransformToDelta32FromGOT , llvm::jitlink::x86::BranchPCRel32 ,
  llvm::jitlink::x86::BranchPCRel32ToPtrJumpStub , llvm::jitlink::x86::BranchPCRel32ToPtrJumpStubBypassable
}
 Represets x86 fixups. More...
 

Functions

LLVM_ABI const charllvm::jitlink::x86::getEdgeKindName (Edge::Kind K)
 Returns a string name for the given x86 edge.
 
Error llvm::jitlink::x86::applyFixup (LinkGraph &G, Block &B, const Edge &E, const Symbol *GOTSymbol)
 Apply fixup expression for edge to block content.
 
Symbol & llvm::jitlink::x86::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.
 
Block & llvm::jitlink::x86::createPointerJumpStubBlock (LinkGraph &G, Section &StubSection, Symbol &PointerSymbol)
 Create a jump stub block that jumps via the pointer at the given symbol.
 
Symbol & llvm::jitlink::x86::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.
 
LLVM_ABI Error llvm::jitlink::x86::optimizeGOTAndStubAccesses (LinkGraph &G)
 Optimize the GOT and Stub relocations if the edge target address is in range.
 

Variables

constexpr uint32_t llvm::jitlink::x86::PointerSize = 4
 x86 pointer size.
 
LLVM_ABI const char llvm::jitlink::x86::NullPointerContent [PointerSize] = {0x00, 0x00, 0x00, 0x00}
 x86 null pointer content.
 
LLVM_ABI const char llvm::jitlink::x86::PointerJumpStubContent [6]
 x86 pointer jump stub content.