LLVM 20.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
i386.h File Reference
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/JITLink/TableManager.h"

Go to the source code of this file.

Classes

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

Namespaces

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

Enumerations

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

Functions

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

Variables

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