LLVM 17.0.0git
Classes | Namespaces | Enumerations | Functions
aarch32.h File Reference
#include "TableManager.h"
#include "llvm/ExecutionEngine/JITLink/JITLink.h"
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/Error.h"

Go to the source code of this file.

Classes

struct  llvm::jitlink::aarch32::ArmConfig
 JITLink sub-arch configuration for Arm CPU models. More...
 
struct  llvm::jitlink::aarch32::HalfWords
 Immutable pair of halfwords, Hi and Lo, with overflow check. More...
 
struct  llvm::jitlink::aarch32::FixupInfo< Kind >
 Collection of named constants per fixup kind. More...
 
struct  llvm::jitlink::aarch32::FixupInfo< Thumb_Jump24 >
 
struct  llvm::jitlink::aarch32::FixupInfo< Thumb_Call >
 
struct  llvm::jitlink::aarch32::FixupInfo< Thumb_MovtAbs >
 
struct  llvm::jitlink::aarch32::FixupInfo< Thumb_MovwAbsNC >
 
class  llvm::jitlink::aarch32::StubsManager< Flavor >
 Stubs builder for a specific StubsFlavor. More...
 

Namespaces

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

Enumerations

enum  llvm::jitlink::aarch32::EdgeKind_aarch32 : Edge::Kind {
  llvm::jitlink::aarch32::FirstDataRelocation = Edge::FirstRelocation , llvm::jitlink::aarch32::Data_Delta32 = FirstDataRelocation , llvm::jitlink::aarch32::Data_Pointer32 , llvm::jitlink::aarch32::LastDataRelocation = Data_Pointer32 ,
  llvm::jitlink::aarch32::FirstArmRelocation , llvm::jitlink::aarch32::Arm_Call = FirstArmRelocation , llvm::jitlink::aarch32::LastArmRelocation = Arm_Call , llvm::jitlink::aarch32::FirstThumbRelocation ,
  llvm::jitlink::aarch32::Thumb_Call = FirstThumbRelocation , llvm::jitlink::aarch32::Thumb_Jump24 , llvm::jitlink::aarch32::Thumb_MovwAbsNC , llvm::jitlink::aarch32::Thumb_MovtAbs ,
  llvm::jitlink::aarch32::LastThumbRelocation = Thumb_MovtAbs
}
 JITLink-internal AArch32 fixup kinds. More...
 
enum  llvm::jitlink::aarch32::TargetFlags_aarch32 : TargetFlagsType { llvm::jitlink::aarch32::ThumbSymbol = 1 << 0 }
 Flags enum for AArch32-specific symbol properties. More...
 
enum  llvm::jitlink::aarch32::StubsFlavor { llvm::jitlink::aarch32::Unsupported = 0 , llvm::jitlink::aarch32::Thumbv7 }
 AArch32 uses stubs for a number of purposes, like branch range extension or interworking between Arm and Thumb instruction subsets. More...
 

Functions

const charllvm::jitlink::aarch32::getCPUArchName (ARMBuildAttrs::CPUArch K)
 Human-readable name for a given CPU architecture kind.
 
const charllvm::jitlink::aarch32::getEdgeKindName (Edge::Kind K)
 Get a human-readable name for the given AArch32 edge kind.
 
ArmConfig llvm::jitlink::aarch32::getArmConfigForCPUArch (ARMBuildAttrs::CPUArch CPUArch)
 Obtain the sub-arch configuration for a given Arm CPU model.
 
Expected< int64_t > llvm::jitlink::aarch32::readAddendData (LinkGraph &G, Block &B, const Edge &E)
 Helper function to read the initial addend for Data-class relocations.
 
Expected< int64_t > llvm::jitlink::aarch32::readAddendArm (LinkGraph &G, Block &B, const Edge &E)
 Helper function to read the initial addend for Arm-class relocations.
 
Expected< int64_t > llvm::jitlink::aarch32::readAddendThumb (LinkGraph &G, Block &B, const Edge &E, const ArmConfig &ArmCfg)
 Helper function to read the initial addend for Thumb-class relocations.
 
Expected< int64_t > llvm::jitlink::aarch32::readAddend (LinkGraph &G, Block &B, const Edge &E, const ArmConfig &ArmCfg)
 Read the initial addend for a REL-type relocation.
 
Error llvm::jitlink::aarch32::applyFixupData (LinkGraph &G, Block &B, const Edge &E)
 Helper function to apply the fixup for Data-class relocations.
 
Error llvm::jitlink::aarch32::applyFixupArm (LinkGraph &G, Block &B, const Edge &E)
 Helper function to apply the fixup for Arm-class relocations.
 
Error llvm::jitlink::aarch32::applyFixupThumb (LinkGraph &G, Block &B, const Edge &E, const ArmConfig &ArmCfg)
 Helper function to apply the fixup for Thumb-class relocations.
 
Error llvm::jitlink::aarch32::applyFixup (LinkGraph &G, Block &B, const Edge &E, const ArmConfig &ArmCfg)
 Apply fixup expression for edge to block content.