LLVM  16.0.0git
Classes | Namespaces | Enumerations | Functions | Variables
aarch64.h File Reference
#include "TableManager.h"
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/Orc/Shared/MemoryFlags.h"
Include dependency graph for aarch64.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Namespaces

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

Enumerations

enum  llvm::jitlink::aarch64::EdgeKind_aarch64 : Edge::Kind {
  llvm::jitlink::aarch64::Pointer64 = Edge::FirstRelocation, llvm::jitlink::aarch64::Pointer32, llvm::jitlink::aarch64::Delta64, llvm::jitlink::aarch64::Delta32,
  llvm::jitlink::aarch64::NegDelta64, llvm::jitlink::aarch64::NegDelta32, llvm::jitlink::aarch64::Branch26PCRel, llvm::jitlink::aarch64::MoveWide16,
  llvm::jitlink::aarch64::LDRLiteral19, llvm::jitlink::aarch64::Page21, llvm::jitlink::aarch64::PageOffset12, llvm::jitlink::aarch64::RequestGOTAndTransformToPage21,
  llvm::jitlink::aarch64::RequestGOTAndTransformToPageOffset12, llvm::jitlink::aarch64::RequestGOTAndTransformToDelta32, llvm::jitlink::aarch64::RequestTLVPAndTransformToPage21, llvm::jitlink::aarch64::RequestTLVPAndTransformToPageOffset12,
  llvm::jitlink::aarch64::RequestTLSDescEntryAndTransformToPage21, llvm::jitlink::aarch64::RequestTLSDescEntryAndTransformToPageOffset12
}
 Represents aarch64 fixups and other aarch64-specific edge kinds. More...
 

Functions

const char * llvm::jitlink::aarch64::getEdgeKindName (Edge::Kind K)
 Returns a string name for the given aarch64 edge. More...
 
bool llvm::jitlink::aarch64::isLoadStoreImm12 (uint32_t Instr)
 
unsigned llvm::jitlink::aarch64::getPageOffset12Shift (uint32_t Instr)
 
bool llvm::jitlink::aarch64::isMoveWideImm16 (uint32_t Instr)
 
unsigned llvm::jitlink::aarch64::getMoveWide16Shift (uint32_t Instr)
 
Error llvm::jitlink::aarch64::applyFixup (LinkGraph &G, Block &B, const Edge &E)
 Apply fixup expression for edge to block content. More...
 
Symbol & llvm::jitlink::aarch64::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 symobl pointing to it. More...
 
Block & llvm::jitlink::aarch64::createPointerJumpStubBlock (LinkGraph &G, Section &StubSection, Symbol &PointerSymbol)
 Create a jump stub block that jumps via the pointer at the given symbol. More...
 
Symbol & llvm::jitlink::aarch64::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. More...
 

Variables

constexpr uint64_t llvm::jitlink::aarch64::PointerSize = 8
 aarch64 pointer size. More...
 
const char llvm::jitlink::aarch64::NullPointerContent [PointerSize]
 AArch64 null pointer content. More...
 
const char llvm::jitlink::aarch64::PointerJumpStubContent [12]