| /llvm-project-15.0.7/bolt/lib/Passes/ |
| H A D | JTFootprintReduction.cpp | 45 std::map<JumpTable *, uint64_t> AllJTs; in checkOpportunities() 49 JumpTable *JumpTable = Function.getJumpTable(Inst); in checkOpportunities() local 50 if (!JumpTable) in checkOpportunities() 74 BlacklistedJTs.insert(JumpTable); in checkOpportunities() 117 JumpTable *JT = JTFreq.first; in checkOpportunities() 132 uint64_t JTAddr, JumpTable *JumpTable, DataflowInfoManager &Info) { in tryOptimizeNonPIC() argument 164 JumpTable->OutputEntrySize = 4; in tryOptimizeNonPIC() 173 uint64_t JTAddr, JumpTable *JumpTable, in tryOptimizePIC() argument 203 JumpTable->OutputEntrySize = 4; in tryOptimizePIC() 205 JumpTable->Type = JumpTable::JTT_NORMAL; in tryOptimizePIC() [all …]
|
| H A D | IdenticalCodeFolding.cpp | 45 using JumpTable = bolt::JumpTable; typedef 49 bool equalJumpTables(const JumpTable &JumpTableA, const JumpTable &JumpTableB, in equalJumpTables() 256 const JumpTable *JumpTableA = in isIdenticalWith() 261 const JumpTable *JumpTableB = in isIdenticalWith()
|
| H A D | AsmDump.cpp | 61 const JumpTable *JT = BF.getJumpTable(Instr); in dumpJumpTableFdata() 101 void dumpJumpTableSymbols(raw_ostream &OS, const JumpTable *JT, AsmPrinter &MAP, in dumpJumpTableSymbols()
|
| H A D | IndirectCallPromotion.cpp | 242 if (const JumpTable *JT = BF.getJumpTable(Inst)) { in getCallTargets() 244 if (!opts::ICPJumpTablesByTarget && JT->Type == JumpTable::JTT_PIC) in getCallTargets() 250 JumpTable::JumpInfo DefaultJI; in getCallTargets() 251 const JumpTable::JumpInfo *JI = in getCallTargets() 254 assert(JT->Type == JumpTable::JTT_PIC || in getCallTargets() 372 const JumpTable *JT) const { in maybeGetHotJumpTableTargets() 528 const JumpTable *JT = BB.getFunction()->getJumpTable(CallInst); in findCallTargetSymbols()
|
| /llvm-project-15.0.7/bolt/include/bolt/Core/ |
| H A D | JumpTable.h | 41 class JumpTable : public BinaryData { 44 JumpTable() = delete; 45 JumpTable(const JumpTable &) = delete; 46 JumpTable &operator=(const JumpTable &) = delete; 94 JumpTable(MCSymbol &Symbol, uint64_t Address, size_t EntrySize,
|
| H A D | BinaryContext.h | 192 std::map<uint64_t, JumpTable *> JumpTables; 368 uint64_t getJumpTableEntrySize(JumpTable::JumpTableType Type) const { in getJumpTableEntrySize() 369 return Type == JumpTable::JTT_PIC ? 4 : AsmInfo->getCodePointerSize(); in getJumpTableEntrySize() 373 JumpTable *getJumpTableContainingAddress(uint64_t Address) { in getJumpTableContainingAddress() 481 JumpTable::JumpTableType Type); 494 const JumpTable::JumpTableType Type, BinaryFunction &BF, 496 JumpTable::AddressesType *EntriesAsAddress = nullptr); 507 duplicateJumpTable(BinaryFunction &Function, JumpTable *JT, 517 JumpTable &JT = *JTI.second; in clearJumpTableTempData() 518 JumpTable::AddressesType Temp; in clearJumpTableTempData()
|
| H A D | BinaryFunction.h | 539 std::map<uint64_t, JumpTable *> JumpTables; 798 iterator_range<std::map<uint64_t, JumpTable *>::const_iterator> 930 JumpTable *getJumpTableContainingAddress(uint64_t Address) { in getJumpTableContainingAddress() 942 const JumpTable *getJumpTableContainingAddress(uint64_t Address) const { in getJumpTableContainingAddress() 1412 const JumpTable *getJumpTable(const MCInst &Inst) const { in getJumpTable() 1417 JumpTable *getJumpTable(const MCInst &Inst) { in getJumpTable()
|
| /llvm-project-15.0.7/bolt/lib/Core/ |
| H A D | JumpTable.cpp | 23 using JumpTable = bolt::JumpTable; typedef 30 bolt::JumpTable::JumpTable(MCSymbol &Symbol, uint64_t Address, size_t EntrySize, in JumpTable() function in bolt::JumpTable 37 bolt::JumpTable::getEntriesForAddress(const uint64_t Addr) const { in getEntriesForAddress() 68 bool bolt::JumpTable::replaceDestination(uint64_t JTAddress, in replaceDestination() 84 void bolt::JumpTable::updateOriginal() { in updateOriginal() 102 void bolt::JumpTable::print(raw_ostream &OS) const { in print()
|
| H A D | BinaryContext.cpp | 108 for (std::pair<const uint64_t, JumpTable *> JTI : JumpTables) in ~BinaryContext() 428 getOrCreateJumpTable(BF, Address, JumpTable::JTT_PIC); in handleAddressRef() 472 if (analyzeJumpTable(Address, JumpTable::JTT_PIC, BF)) in analyzeMemoryAt() 475 if (analyzeJumpTable(Address, JumpTable::JTT_NORMAL, BF)) in analyzeMemoryAt() 496 JumpTable::AddressesType *EntriesAsAddress) { in analyzeJumpTable() 550 if (Type == JumpTable::JTT_PIC && in analyzeJumpTable() 565 (Type == JumpTable::JTT_PIC) in analyzeJumpTable() 627 JumpTable *JT = JTI->second; in populateJumpTables() 678 if (opts::StrictMode && JT->Type == JumpTable::JTT_PIC) { in populateJumpTables() 823 JumpTable *JT = new JumpTable(*JTLabel, Address, EntrySize, Type, in getOrCreateJumpTable() [all …]
|
| H A D | CMakeLists.txt | 22 JumpTable.cpp
|
| H A D | BinaryBasicBlock.cpp | 42 const JumpTable *BinaryBasicBlock::getJumpTable() const { in getJumpTable() 44 const JumpTable *JT = Inst ? Function->getJumpTable(*Inst) : nullptr; in getJumpTable() 75 const JumpTable *JT = Inst ? Function->getJumpTable(*Inst) : nullptr; in validateSuccessorInvariants() 356 const JumpTable *JT = getJumpTable(); in updateJumpTableSuccessors()
|
| H A D | BinaryEmitter.cpp | 112 using JumpTable = bolt::JumpTable; typedef 150 void emitJumpTable(const JumpTable &JT, MCSection *HotSection, 719 JumpTable &JT = *JTI.second; in emitJumpTables() 753 void BinaryEmitter::emitJumpTable(const JumpTable &JT, MCSection *HotSection, in emitJumpTable() 798 if (JT.Type == JumpTable::JTT_NORMAL) { in emitJumpTable()
|
| H A D | BinaryFunctionProfile.cpp | 159 JumpTable *JT = getJumpTableContainingAddress(JTAddress); in postProcessProfile() 262 for (const JumpTable::JumpInfo &JI : JTEntry.second->Counts) { in mergeProfileDataInto()
|
| H A D | BinaryFunction.cpp | 901 case JumpTable::JTT_NORMAL: in processIndirectBranch() 904 case JumpTable::JTT_PIC: in processIndirectBranch() 913 JumpTable::JumpTableType JTType; in processIndirectBranch() 917 JTType = JumpTable::JTT_PIC; in processIndirectBranch() 926 JTType = JumpTable::JTT_NORMAL; in processIndirectBranch() 1639 JumpTable &JT = *JTI.second; in postProcessJumpTables() 1696 const JumpTable *JT = getJumpTableContainingAddress(JTAddress); in postProcessJumpTables() 1802 if (JT->Type == JumpTable::JTT_NORMAL) { in postProcessIndirectBranches() 3720 SmallPtrSet<JumpTable *, 4> JumpTables; in disambiguateJumpTables() 3725 JumpTable *JT = getJumpTable(Inst); in disambiguateJumpTables() [all …]
|
| /llvm-project-15.0.7/bolt/include/bolt/Passes/ |
| H A D | JTFootprintReduction.h | 36 DenseSet<JumpTable *> BlacklistedJTs; 51 JumpTable *JumpTable, DataflowInfoManager &Info); 57 JumpTable *JumpTable, DataflowInfoManager &Info);
|
| H A D | IndirectCallPromotion.h | 192 const JumpTable *JT) const;
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/ |
| H A D | PseudoSourceValue.h | 40 JumpTable, enumerator 71 bool isJumpTable() const { return Kind == JumpTable; } in isJumpTable()
|
| H A D | SwitchLoweringUtils.h | 165 struct JumpTable { struct 177 JumpTable(unsigned R, unsigned J, MachineBasicBlock *M, MachineBasicBlock *D) in JumpTable() argument 193 using JumpTableBlock = std::pair<JumpTableHeader, JumpTable>;
|
| H A D | ISDOpcodes.h | 81 JumpTable, enumerator
|
| /llvm-project-15.0.7/llvm/utils/ |
| H A D | llvm.grm | 363 | switch IntType ValueRef ^ "," label ValueRef "[" JumpTable "]" 371 JumpTable ::= JumpTable IntType ConstValueRef ^ "," label ValueRef
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | PseudoSourceValue.cpp | 105 JumpTablePSV(PseudoSourceValue::JumpTable, TM), in PseudoSourceValueManager()
|
| /llvm-project-15.0.7/llvm/include/llvm/Target/ |
| H A D | TargetOptions.h | 43 namespace JumpTable {
|
| /llvm-project-15.0.7/llvm/lib/Target/DirectX/ |
| H A D | DXILPrepare.cpp | 43 Attribute::JumpTable, in isValidForDXIL()
|
| /llvm-project-15.0.7/bolt/lib/Target/AArch64/ |
| H A D | AArch64MCPlusBuilder.cpp | 500 const MCExpr *&JumpTable, int64_t &Offset, int64_t &ScaleValue, in analyzeIndirectBranchFragment() argument 592 JumpTable = nullptr; in analyzeIndirectBranchFragment() 604 JumpTable = nullptr; in analyzeIndirectBranchFragment() 610 JumpTable = DefJTBasePage->getOperand(1).getExpr(); in analyzeIndirectBranchFragment()
|
| /llvm-project-15.0.7/llvm/include/llvm/CodeGen/GlobalISel/ |
| H A D | IRTranslator.h | 337 bool emitJumpTableHeader(SwitchCG::JumpTable &JT, 340 void emitJumpTable(SwitchCG::JumpTable &JT, MachineBasicBlock *MBB);
|