|
LLVM 24.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 } |
| enum llvm::jitlink::ppc64::EdgeKind_ppc64 : Edge::Kind |
Represents ppc64 fixups and other ppc64-specific edge kinds.
|
inline |
Apply fixup expression for edge to block content.
Definition at line 371 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::isInt(), LLVM_UNLIKELY, llvm::make_error(), llvm::jitlink::makeTargetOutOfRangeError(), NegDelta32, P, Pointer14, Pointer16, Pointer16DS, Pointer16HA, Pointer16HI, Pointer16HIGH, Pointer16HIGHA, Pointer16HIGHER, Pointer16HIGHERA, Pointer16HIGHEST, Pointer16HIGHESTA, Pointer16LO, Pointer16LODS, Pointer64, llvm::support::endian::read32(), readPrefixedInstruction(), relocateHalf16(), llvm::Error::success(), TOC, TOCDelta16, TOCDelta16DS, TOCDelta16HA, TOCDelta16HI, TOCDelta16LO, TOCDelta16LODS, llvm::support::endian::write32(), llvm::support::endian::write64(), and writePrefixedInstruction().
Referenced by llvm::jitlink::XCOFFJITLinker_ppc64::applyFixup().
|
inline |
Definition at line 132 of file ppc64.h.
References assert(), B(), G, NullPointerContent, and Pointer64.
Referenced by llvm::jitlink::ppc64::TOCTableManager< Endianness >::createEntry(), and llvm::jitlink::getAnonymousPointerCreator().
|
inline |
Definition at line 146 of file ppc64.h.
References B(), llvm::jitlink::ppc64::PLTCallStubInfo::Content, G, pickStub(), llvm::jitlink::ppc64::PLTCallStubInfo::Relocs, and llvm::ArrayRef< T >::size().
Referenced by createDefaultAnonymousPointerJumpStub(), and llvm::jitlink::ppc64::PLTTableManager< Endianness >::createEntry().
|
inline |
Definition at line 164 of file ppc64.h.
References createAnonymousPointerJumpStub(), G, and LongBranchSaveR2.
Referenced by llvm::jitlink::getPointerJumpStubCreator().
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(), llvm::jitlink::XCOFFJITLinker_ppc64::applyFixup(), llvm::jitlink::createLinkGraphFromXCOFFObject_ppc64(), and relocateHalf16().
Definition at line 278 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 280 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 281 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 282 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 285 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 286 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 289 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 290 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 279 of file ppc64.h.
Referenced by relocateHalf16().
|
inline |
Definition at line 95 of file ppc64.h.
References Delta16HA, Delta16LO, llvm::little, llvm_unreachable, LongBranch, LongBranchNoTOC, LongBranchSaveR2, llvm::Offset, PointerJumpStubContent_big, PointerJumpStubContent_little, PointerJumpStubNoTOCContent_big, PointerJumpStubNoTOCContent_little, llvm::ArrayRef< T >::slice(), TOCDelta16HA, and TOCDelta16LO.
Referenced by createAnonymousPointerJumpStub().
|
inlinestatic |
Definition at line 299 of file ppc64.h.
References llvm::little, and llvm::support::endian::read64().
Referenced by applyFixup().
|
inline |
Definition at line 313 of file ppc64.h.
References Delta16, Delta16HA, Delta16HI, Delta16LO, getEdgeKindName(), ha(), hi(), high(), higha(), higher(), highera(), highest(), highesta(), lo(), llvm::make_error(), Pointer16, Pointer16DS, Pointer16HA, Pointer16HI, Pointer16HIGH, Pointer16HIGHA, Pointer16HIGHER, Pointer16HIGHERA, Pointer16HIGHEST, Pointer16HIGHESTA, Pointer16LO, Pointer16LODS, llvm::Error::success(), TOCDelta16, TOCDelta16DS, TOCDelta16HA, TOCDelta16HI, TOCDelta16LO, TOCDelta16LODS, and llvm::support::endian::write16().
Referenced by applyFixup().
|
inlinestatic |
Definition at line 306 of file ppc64.h.
References llvm::little, and llvm::support::endian::write64().
Referenced by applyFixup().
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().