LLVM 18.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::jitlink::aarch32::StubsManager< Flavor > Class Template Reference

Stubs builder for a specific StubsFlavor. More...

#include "llvm/ExecutionEngine/JITLink/aarch32.h"

Inheritance diagram for llvm::jitlink::aarch32::StubsManager< Flavor >:
Inheritance graph
[legend]

Public Member Functions

 StubsManager ()=default
 
bool visitEdge (LinkGraph &G, Block *B, Edge &E)
 Implements link-graph traversal via visitExistingEdges().
 
SymbolcreateEntry (LinkGraph &G, Symbol &Target)
 Create a branch range extension stub for the class's flavor.
 
SymbolcreateEntry (LinkGraph &G, Symbol &Target)
 Create a branch range extension stub with Thumb encoding for v7 CPUs.
 
SymbolcreateEntry (LinkGraph &G, Symbol &Target)
 

Static Public Member Functions

static StringRef getSectionName ()
 Name of the object file section that will contain all our stubs.
 

Detailed Description

template<StubsFlavor Flavor>
class llvm::jitlink::aarch32::StubsManager< Flavor >

Stubs builder for a specific StubsFlavor.

Right now we only have one default stub kind, but we want to extend this and allow creation of specific kinds in the future (e.g. branch range extension or interworking).

Let's keep it simple for the moment and not wire this through a GOT.

Definition at line 283 of file aarch32.h.

Constructor & Destructor Documentation

◆ StubsManager()

template<StubsFlavor Flavor>
llvm::jitlink::aarch32::StubsManager< Flavor >::StubsManager ( )
default

Member Function Documentation

◆ createEntry() [1/3]

template<StubsFlavor Flavor>
Symbol & llvm::jitlink::aarch32::StubsManager< Flavor >::createEntry ( LinkGraph G,
Symbol Target 
)

Create a branch range extension stub for the class's flavor.

◆ createEntry() [2/3]

Symbol & llvm::jitlink::aarch32::StubsManager< Thumbv7 >::createEntry ( LinkGraph G,
Symbol Target 
)

Create a branch range extension stub with Thumb encoding for v7 CPUs.

◆ createEntry() [3/3]

Symbol & llvm::jitlink::aarch32::StubsManager< Thumbv7 >::createEntry ( LinkGraph G,
Symbol Target 
)

◆ getSectionName()

template<StubsFlavor Flavor>
static StringRef llvm::jitlink::aarch32::StubsManager< Flavor >::getSectionName ( )
inlinestatic

Name of the object file section that will contain all our stubs.

Definition at line 288 of file aarch32.h.

◆ visitEdge()

template<StubsFlavor Flavor>
bool llvm::jitlink::aarch32::StubsManager< Flavor >::visitEdge ( LinkGraph G,
Block B,
Edge E 
)
inline

The documentation for this class was generated from the following file: