LLVM 22.0.0git
systemz.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::systemz::EdgeKind_systemz : Edge::Kind {
  llvm::jitlink::systemz::Pointer64 = Edge::FirstRelocation , llvm::jitlink::systemz::Pointer32 , llvm::jitlink::systemz::Pointer20 , llvm::jitlink::systemz::Pointer16 ,
  llvm::jitlink::systemz::Pointer12 , llvm::jitlink::systemz::Pointer8 , llvm::jitlink::systemz::Delta64 , llvm::jitlink::systemz::Delta32 ,
  llvm::jitlink::systemz::Delta16 , llvm::jitlink::systemz::Delta32dbl , llvm::jitlink::systemz::Delta24dbl , llvm::jitlink::systemz::Delta16dbl ,
  llvm::jitlink::systemz::Delta12dbl , llvm::jitlink::systemz::NegDelta64 , llvm::jitlink::systemz::NegDelta32 , llvm::jitlink::systemz::DeltaPLT32dbl ,
  llvm::jitlink::systemz::DeltaPLT24dbl , llvm::jitlink::systemz::DeltaPLT16dbl , llvm::jitlink::systemz::DeltaPLT12dbl , llvm::jitlink::systemz::DeltaPLT64 ,
  llvm::jitlink::systemz::DeltaPLT32 , llvm::jitlink::systemz::Delta64PLTFromGOT , llvm::jitlink::systemz::Delta32PLTFromGOT , llvm::jitlink::systemz::Delta16PLTFromGOT ,
  llvm::jitlink::systemz::Delta64FromGOT , llvm::jitlink::systemz::Delta32FromGOT , llvm::jitlink::systemz::Delta16FromGOT , llvm::jitlink::systemz::Delta20FromGOT ,
  llvm::jitlink::systemz::Delta12FromGOT , llvm::jitlink::systemz::RequestGOTAndTransformToDelta64FromGOT , llvm::jitlink::systemz::RequestGOTAndTransformToDelta32FromGOT , llvm::jitlink::systemz::RequestGOTAndTransformToDelta20FromGOT ,
  llvm::jitlink::systemz::RequestGOTAndTransformToDelta16FromGOT , llvm::jitlink::systemz::RequestGOTAndTransformToDelta12FromGOT , llvm::jitlink::systemz::RequestGOTAndTransformToDelta32dbl , llvm::jitlink::systemz::Delta32GOTBase ,
  llvm::jitlink::systemz::Delta32dblGOTBase
}
 Represents systemz fixups and other systemz-specific edge kinds. More...

Functions

const charllvm::jitlink::systemz::getEdgeKindName (Edge::Kind K)
 Returns a string name for the given systemz edge.
Error llvm::jitlink::systemz::applyFixup (LinkGraph &G, Block &B, const Edge &E, const Symbol *GOTSymbol)
 Apply fixup expression for edge to block content.
ArrayRef< charllvm::jitlink::systemz::getGOTEntryBlockContent (LinkGraph &G)
ArrayRef< charllvm::jitlink::systemz::getStubBlockContent (LinkGraph &G)
Symbolllvm::jitlink::systemz::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.
Blockllvm::jitlink::systemz::createPointerJumpStubBlock (LinkGraph &G, Section &StubSection, Symbol &PointerSymbol)
 Create a jump stub block that jumps via the pointer at the given symbol.
Symbolllvm::jitlink::systemz::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

const char llvm::jitlink::systemz::NullPointerContent [8]
 SystemZ null pointer content.
constexpr size_t llvm::jitlink::systemz::StubEntrySize = 8
 SystemZ pointer jump stub content.
const char llvm::jitlink::systemz::Pointer64JumpStubContent [StubEntrySize]