LLVM: lib/Target/PowerPC/PPCAsmPrinter.cpp File Reference (original) (raw)
Go to the source code of this file.
| Namespaces |
|
| namespace |
llvm |
|
This is an optimization pass for GlobalISel generic memory operations. |
| Functions |
|
|
STATISTIC (NumTOCEntries, "Number of Total TOC Entries Emitted.") |
|
STATISTIC (NumTOCConstPool, "Number of Constant Pool TOC Entries.") |
|
STATISTIC (NumTOCGlobalInternal, "Number of Internal Linkage Global TOC Entries.") |
|
STATISTIC (NumTOCGlobalExternal, "Number of External Linkage Global TOC Entries.") |
|
STATISTIC (NumTOCJumpTable, "Number of Jump Table TOC Entries.") |
|
STATISTIC (NumTOCThreadLocal, "Number of Thread Local TOC Entries.") |
|
STATISTIC (NumTOCBlockAddress, "Number of Block Address TOC Entries.") |
|
STATISTIC (NumTOCEHBlock, "Number of EH Block TOC Entries.") |
| static void |
collectTOCStats (PPCAsmPrinter::TOCEntryType Type) |
| static CodeModel::Model |
getCodeModel (const PPCSubtarget &S, const TargetMachine &TM, const MachineOperand &MO) |
| static void |
setOptionalCodeModel (MCSymbolXCOFF *XSym, CodeModel::Model CM) |
| static MCSymbol * |
createMCSymbolForTlsGetAddr (MCContext &Ctx, unsigned MIOpc) |
|
This helper function creates the TlsGetAddr/TlsGetMod MCSymbol for AIX. |
| static MCSymbol * |
getMCSymbolForTOCPseudoMO (const MachineOperand &MO, AsmPrinter &AP) |
|
Map a machine operand for a TOC pseudo-machine instruction to its corresponding MCSymbol. |
| static PPCAsmPrinter::TOCEntryType |
getTOCEntryTypeForMO (const MachineOperand &MO) |
|
INITIALIZE_PASS (PPCLinuxAsmPrinter, "ppc-linux-asm-printer", "Linux PPC Assembly Printer", false, false) void PPCAIXAsmPrinter |
| static bool |
isSpecialLLVMGlobalArrayToSkip (const GlobalVariable *GV) |
| static bool |
isSpecialLLVMGlobalArrayForStaticInit (const GlobalVariable *GV) |
| static void |
tocDataChecks (unsigned PointerSize, const GlobalVariable *GV) |
| static unsigned |
mapToSinitPriority (int P) |
| static std::string |
convertToSinitPriority (int Priority) |
| static AsmPrinter * |
createPPCAsmPrinterPass (TargetMachine &tm, std::unique_ptr< MCStreamer > &&Streamer) |
|
INITIALIZE_PASS (PPCAIXAsmPrinter, "ppc-aix-asm-printer", "AIX PPC Assembly Printer", false, false) extern "C" LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializePowerPCAsmPrinter() |
◆ DEBUG_TYPE
#define DEBUG_TYPE "asmprinter"
| #define GENBOOLCOMMENT |
( |
Prefix, |
| V, |
|
|
| Field ) |
|
|
Value:
CommentOS << (Prefix) << ((V) & (TracebackTable::Field##Mask) ? "+" : "-") \
OptimizedStructLayoutField Field
| #define GENVALUECOMMENT |
( |
PrefixAndName, |
| V, |
|
|
| Field ) |
|
|
Value:
CommentOS << (PrefixAndName) << " = " \
<< static_cast<unsigned>(((V) & (TracebackTable::Field##Mask)) >> \
(TracebackTable::Field##Shift))
◆ collectTOCStats()
| void collectTOCStats ( PPCAsmPrinter::TOCEntryType Type) |
static |
◆ convertToSinitPriority()
| std::string convertToSinitPriority ( int Priority) |
static |
◆ createMCSymbolForTlsGetAddr()
◆ createPPCAsmPrinterPass()
◆ getCodeModel()
Definition at line 481 of file PPCAsmPrinter.cpp.
References assert(), llvm::PPCSubtarget::getCodeModel(), llvm::TargetMachine::getCodeModel(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getType(), and llvm::MachineOperand::MO_GlobalAddress.
Referenced by llvm::RISCVTargetLowering::getJumpTableEncoding(), llvm::X86TargetLowering::getJumpTableEncoding(), llvm::PPCTargetLowering::getPICJumpTableRelocBase(), llvm::PPCTargetLowering::getPICJumpTableRelocBaseExpr(), llvm::X86TargetLowering::getPICJumpTableRelocBaseExpr(), llvm::RISCVTargetLowering::LowerCall(), llvm::LanaiTargetLowering::LowerConstantPool(), llvm::RISCVTargetLowering::LowerCustomJumpTableEntry(), llvm::LanaiTargetLowering::LowerJumpTable(), llvm::SparcTargetLowering::makeAddress(), and llvm::VETargetLowering::makeAddress().
◆ getMCSymbolForTOCPseudoMO()
Map a machine operand for a TOC pseudo-machine instruction to its corresponding MCSymbol.
Definition at line 755 of file PPCAsmPrinter.cpp.
References llvm::MachineOperand::getBlockAddress(), llvm::AsmPrinter::GetBlockAddressSymbol(), llvm::AsmPrinter::GetCPISymbol(), llvm::MachineOperand::getGlobal(), llvm::MachineOperand::getIndex(), llvm::AsmPrinter::GetJTISymbol(), llvm::AsmPrinter::getSymbol(), llvm::MachineOperand::getType(), llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_GlobalAddress, and llvm::MachineOperand::MO_JumpTableIndex.
◆ getTOCEntryTypeForMO()
Definition at line 772 of file PPCAsmPrinter.cpp.
References llvm::GlobalValue::AvailableExternallyLinkage, llvm::GlobalValue::ExternalLinkage, llvm::GlobalValue::ExternalWeakLinkage, llvm::MachineOperand::getGlobal(), llvm::GlobalValue::getLinkage(), llvm::MachineOperand::getTargetFlags(), llvm::MachineOperand::getType(), llvm::PPCInstrInfo::hasTLSFlag(), Linkage, llvm_unreachable, llvm::MachineOperand::MO_BlockAddress, llvm::MachineOperand::MO_ConstantPoolIndex, llvm::MachineOperand::MO_GlobalAddress, and llvm::MachineOperand::MO_JumpTableIndex.
◆ INITIALIZE_PASS() [1/2]
| INITIALIZE_PASS |
( |
PPCAIXAsmPrinter |
, |
| "ppc-aix-asm-printer" |
, |
|
|
| "AIX PPC Assembly Printer" |
, |
|
|
| false |
, |
|
|
| false |
) |
|
|
◆ INITIALIZE_PASS() [2/2]
| INITIALIZE_PASS |
( |
PPCLinuxAsmPrinter |
, |
| "ppc-linux-asm-printer" |
, |
|
|
| "Linux PPC Assembly Printer" |
, |
|
|
| false |
, |
|
|
| false |
) |
|
|
◆ isSpecialLLVMGlobalArrayForStaticInit()
◆ isSpecialLLVMGlobalArrayToSkip()
◆ mapToSinitPriority()
| unsigned mapToSinitPriority ( int P) |
static |
◆ setOptionalCodeModel()
◆ STATISTIC() [1/8]
| STATISTIC |
( |
NumTOCBlockAddress |
, |
| "Number of Block Address TOC Entries." |
) |
|
|
◆ STATISTIC() [2/8]
| STATISTIC |
( |
NumTOCConstPool |
, |
| "Number of Constant Pool TOC Entries." |
) |
|
|
◆ STATISTIC() [3/8]
| STATISTIC |
( |
NumTOCEHBlock |
, |
| "Number of EH Block TOC Entries." |
) |
|
|
◆ STATISTIC() [4/8]
| STATISTIC |
( |
NumTOCEntries |
, |
| "Number of Total TOC Entries Emitted." |
) |
|
|
◆ STATISTIC() [5/8]
| STATISTIC |
( |
NumTOCGlobalExternal |
, |
| "Number of External Linkage Global TOC Entries." |
) |
|
|
◆ STATISTIC() [6/8]
| STATISTIC |
( |
NumTOCGlobalInternal |
, |
| "Number of Internal Linkage Global TOC Entries." |
) |
|
|
◆ STATISTIC() [7/8]
| STATISTIC |
( |
NumTOCJumpTable |
, |
| "Number of Jump Table TOC Entries." |
) |
|
|
◆ STATISTIC() [8/8]
| STATISTIC |
( |
NumTOCThreadLocal |
, |
| "Number of Thread Local TOC Entries." |
) |
|
|
◆ tocDataChecks()
◆ EnableSSPCanaryBitInTB
| cl::opt< bool > EnableSSPCanaryBitInTB("aix-ssp-tb-bit", cl::init(false), cl::desc("Enable Passing SSP Canary info in Trackback on AIX"), cl::Hidden) ( "aix-ssp-tb-bit" , cl::init(false) , cl::desc("Enable Passing SSP Canary info in Trackback on AIX") , cl::Hidden ) |
static |