|
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, uint64_t, 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, Pointer64, and uint64_t.
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().
|
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, llvm::support::endian::read64(), and uint64_t.
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, uint64_t, 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().