LLVM 20.0.0git
|
Classes | |
struct | PLTCallStubInfo |
struct | PLTCallStubReloc |
class | PLTTableManager |
class | TOCTableManager |
Enumerations | |
enum | EdgeKind_ppc64 : Edge::Kind { Pointer64 = Edge::FirstRelocation , Pointer32 , Pointer16 , Pointer16DS , Pointer16HA , Pointer16HI , Pointer16HIGH , Pointer16HIGHA , Pointer16HIGHER , Pointer16HIGHERA , Pointer16HIGHEST , Pointer16HIGHESTA , Pointer16LO , Pointer16LODS , Pointer14 , Delta64 , Delta34 , Delta32 , NegDelta32 , Delta16 , Delta16HA , Delta16HI , Delta16LO , TOC , TOCDelta16 , TOCDelta16DS , TOCDelta16HA , TOCDelta16HI , TOCDelta16LO , TOCDelta16LODS , RequestGOTAndTransformToDelta34 , CallBranchDelta , CallBranchDeltaRestoreTOC , RequestCall , RequestCallNoTOC , RequestTLSDescInGOTAndTransformToTOCDelta16HA , RequestTLSDescInGOTAndTransformToTOCDelta16LO , RequestTLSDescInGOTAndTransformToDelta34 } |
Represents ppc64 fixups and other ppc64-specific edge kinds. More... | |
enum | PLTCallStubKind { LongBranch , LongBranchSaveR2 , LongBranchNoTOC } |
Variables | |
const char | NullPointerContent [8] |
const char | PointerJumpStubContent_big [20] |
const char | PointerJumpStubContent_little [20] |
const char | PointerJumpStubNoTOCContent_big [32] |
const char | PointerJumpStubNoTOCContent_little [32] |
Represents ppc64 fixups and other ppc64-specific edge kinds.
|
inline |
Apply fixup expression for edge to block content.
Definition at line 357 of file ppc64.h.
References A, assert(), B, CallBranchDelta, CallBranchDeltaRestoreTOC, llvm::dbgs(), DEBUG_WITH_TYPE, Delta16, Delta16HA, Delta16HI, Delta16LO, Delta32, Delta34, Delta64, E, llvm::formatv(), G, llvm::jitlink::Symbol::getAddress(), getEdgeKindName(), llvm::orc::ExecutorAddr::getValue(), LLVM_UNLIKELY, llvm::jitlink::makeTargetOutOfRangeError(), NegDelta32, P, Pointer14, Pointer16, Pointer16DS, Pointer16HA, Pointer16HI, Pointer16HIGH, Pointer16HIGHA, Pointer16HIGHER, Pointer16HIGHERA, Pointer16HIGHEST, Pointer16HIGHESTA, Pointer16LO, Pointer16LODS, Pointer64, llvm::Error::success(), TOC, TOCDelta16, TOCDelta16DS, TOCDelta16HA, TOCDelta16HI, TOCDelta16LO, and TOCDelta16LODS.
|
inline |
Definition at line 131 of file ppc64.h.
References assert(), B, G, NullPointerContent, and Pointer64.
Referenced by llvm::jitlink::ppc64::TOCTableManager< Endianness >::createEntry().
|
inline |
Definition at line 145 of file ppc64.h.
References B, llvm::jitlink::ppc64::PLTCallStubInfo::Content, G, llvm::jitlink::ppc64::PLTCallStubInfo::Relocs, and llvm::ArrayRef< T >::size().
const char * llvm::jitlink::ppc64::getEdgeKindName | ( | Edge::Kind | K | ) |
Returns a string name for the given ppc64 edge.
For debugging purposes only.
Definition at line 61 of file ppc64.cpp.
References CallBranchDelta, CallBranchDeltaRestoreTOC, Delta16, Delta16HA, Delta16HI, Delta16LO, Delta32, Delta34, Delta64, llvm::jitlink::getGenericEdgeKindName(), NegDelta32, Pointer14, Pointer16, Pointer16DS, Pointer16HA, Pointer16HI, Pointer16HIGH, Pointer16HIGHA, Pointer16HIGHER, Pointer16HIGHERA, Pointer16HIGHEST, Pointer16HIGHESTA, Pointer16LO, Pointer16LODS, Pointer32, Pointer64, RequestCall, RequestCallNoTOC, RequestGOTAndTransformToDelta34, RequestTLSDescInGOTAndTransformToDelta34, RequestTLSDescInGOTAndTransformToTOCDelta16HA, RequestTLSDescInGOTAndTransformToTOCDelta16LO, TOC, TOCDelta16, TOCDelta16DS, TOCDelta16HA, TOCDelta16HI, TOCDelta16LO, and TOCDelta16LODS.
Referenced by applyFixup(), and relocateHalf16().
Definition at line 264 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 266 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 267 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 268 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 271 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 272 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 275 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 276 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 265 of file ppc64.h.
Referenced by relocateHalf16().
|
inline |
Definition at line 94 of file ppc64.h.
References Content, Delta16HA, Delta16LO, llvm::little, llvm_unreachable, LongBranch, LongBranchNoTOC, LongBranchSaveR2, llvm::Offset, PointerJumpStubContent_big, PointerJumpStubContent_little, PointerJumpStubNoTOCContent_big, PointerJumpStubNoTOCContent_little, TOCDelta16HA, and TOCDelta16LO.
|
inlinestatic |
Definition at line 285 of file ppc64.h.
References llvm::little.
|
inline |
Definition at line 299 of file ppc64.h.
References Delta16, Delta16HA, Delta16HI, Delta16LO, getEdgeKindName(), ha(), hi(), high(), higha(), higher(), highera(), highest(), highesta(), lo(), Pointer16, Pointer16DS, Pointer16HA, Pointer16HI, Pointer16HIGH, Pointer16HIGHA, Pointer16HIGHER, Pointer16HIGHERA, Pointer16HIGHEST, Pointer16HIGHESTA, Pointer16LO, Pointer16LODS, llvm::Error::success(), TOCDelta16, TOCDelta16DS, TOCDelta16HA, TOCDelta16HI, TOCDelta16LO, and TOCDelta16LODS.
|
inlinestatic |
Definition at line 292 of file ppc64.h.
References llvm::little.
Definition at line 19 of file ppc64.cpp.
Referenced by createAnonymousPointer().
Definition at line 50 of file ppc64.cpp.
Referenced by pickStub().
Definition at line 39 of file ppc64.cpp.
Referenced by pickStub().