Synopsis
Declared in <llvm/Target/TargetLoweringObjectFile.h>
class TargetLoweringObjectFile
: public MCObjectFileInfo
Base Classes
Name |
Description |
Member Functions
Name |
Description |
|
Constructors |
|
Destructor |
|
Copy assignment operator |
|
This method must be called before any actual lowering is done. This specifies the current context for codegen, and gives the lowering implementations a chance to set up their default sections. |
This method computes the appropriate section to emit the specified global variable or function definition. This should not be passed external (or available externally) globals. |
|
Emit Call Graph Profile metadata. |
|
|
Process linker options metadata and emit platform‐specific bits. |
|
Emit the module‐level metadata that the platform cares about. |
|
|
Emit pseudo_probe_desc metadata. |
|
|
|
|
Create a symbol reference to describe the given TLS variable when emitting the address in debug info. |
|
Targets should implement this method to assign a section to globals with an explicit section specfied. The implementation of this method can assume that GO‐>hasSection() is true. |
|
If supported, return the function entry point symbol. Otherwise, returns nullptr. Func must be a function or an alias which has a function as base object. |
|
Get the target specific PC relative GOT entry relocation |
|
Get the target specific RWPI relocation. |
|
Get the module‐level metadata that the platform cares about. |
|
|
|
If supported, return the section to use for the llvm.commandline metadata. Otherwise, return nullptr. |
|
|
|
On targets that associate external references with a section, return such a section for the given external global. |
|
On targets that use separate function descriptor symbols, return a section for the descriptor given its symbol. Use only with defined functions. |
|
|
|
|
|
On targets that support TOC entries, return a section for the entry given the symbol it refers to. TODO: Implement this interface for existing ELF targets. |
|
Returns the register used as static base in RWPI variants. |
|
|
|
|
Return the MCSymbol for a private symbol with global value name as its base, with the specified suffix. |
|
|
Return an MCExpr to use for a reference to the specified global variable from exception handling information. |
|
Targets that have a special convention for their symbols could use this hook to return a specialized symbol. |
|
|
|
|
Target supports a PC‐relative relocation that references the PLT of a function. |
|
|
|
|
|
|
|
Target supports TLS offset relocation in debug section? |
|
Target GOT "PC"‐relative relocation supports encoding an additional binary expression with an offset? |
|
Target supports replacing a data "PC"‐relative access to a symbol through another symbol, by accessing the later via a GOT entry instead? |
Static Member Functions
Name |
Description |
Return the section name specified by '#pragma clang section' or the section attribute. |
|
Classify the specified global variable into a set of target independent categories embodied in SectionKind. |
Protected Member Functions
Name |
|
Protected Data Members
Name |
Description |
Section that is default initialized to zero. |
|
Section containing call graph metadata. |
|
Compact unwind encoding indicating that we should emit only an EH frame. |
|
If exception handling is supported by the target and the target can support a compact representation of the CIE and FDE, this is the section to emit them into. |
|
Section directive for standard data. |
|
COFF specific sections. |
|
Accelerator table sections. DwarfDebugNamesSection is the DWARF v5 accelerator table, while DwarfAccelNamesSection, DwarfAccelObjCSection, DwarfAccelNamespaceSection, DwarfAccelTypesSection are pre‐DWARF v5 extensions. |
|
Section for newer gnu pubnames. |
|
Section for newer gnu pubtypes. |
|
The DWARF v5 locations list section. |
|
The DWARF v5 range and location list sections for fission. |
|
The DWARF v5 range list section. |
|
The DWARF v5 string offset and address table sections. |
|
EH frame section. |
|
FDE CFI encoding. Controls the encoding of the begin label in the .eh_frame section. Unlike the LSDA encoding, personality encoding, and type encodings, this is something that the assembler just "knows" about its target |
|
FaultMap section. |
|
If import call optimization is supported by the target, this is the section to emit import call data to. |
|
If exception handling is supported by the target, this is the section the Language Specific Data Area information is emitted to. |
|
OmitDwarfIfHaveCompactUnwind ‐ True if the target object file supports having some functions with compact unwind and other with dwarf unwind. |
|
PersonalityEncoding, LSDAEncoding, TTypeEncoding ‐ Some encoding values for EH. |
|
Section for pseudo probe information used by AutoFDO |
|
Section that is readonly and can contain arbitrary initialized data. Targets are not required to have a readonly section. If they don't, various bits of code will fall back to using the data section for constants. |
|
Remarks section. |
|
SFrame ABI architecture byte. |
|
SFrame section. |
|
StackMap section. |
|
Section containing metadata on function stack sizes. |
|
This section contains the static constructor pointer list. |
|
This section contains the static destructor pointer list. |
|
True if the target object file supports emitting a compact unwind section without an associated EH frame section. |
|
Section directive for Thread Local uninitialized data. |
|
Section directive for Thread Local data. ELF, MachO, COFF, and Wasm. |
|
Extra TLS Variable Data section. |
|
Section for thread local structure information. |
|
Section for thread local data initialization functions. |
|
Section directive for standard text. |
|