LLVM 22.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 358 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().
|
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 llvm::jitlink::ppc64::PLTTableManager< Endianness >::createEntry().
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 265 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 269 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 272 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 273 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 276 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 277 of file ppc64.h.
Referenced by relocateHalf16().
Definition at line 266 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 286 of file ppc64.h.
References llvm::little, and llvm::support::endian::read64().
Referenced by applyFixup().
|
inline |
Definition at line 300 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 293 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().