Lines Matching defs:Slot
629 WholeProgramDevirtResolution *Res, VTableSlot Slot);
643 std::string getGlobalName(VTableSlot Slot, ArrayRef<uint64_t> Args,
651 void exportGlobal(VTableSlot Slot, ArrayRef<uint64_t> Args, StringRef Name,
653 void exportConstant(VTableSlot Slot, ArrayRef<uint64_t> Args, StringRef Name,
658 Constant *importGlobal(VTableSlot Slot, ArrayRef<uint64_t> Args,
660 Constant *importConstant(VTableSlot Slot, ArrayRef<uint64_t> Args,
672 VTableSlot Slot, ArrayRef<uint64_t> Args);
678 WholeProgramDevirtResolution *Res, VTableSlot Slot);
682 // Apply the summary resolution for Slot to all virtual calls in SlotInfo.
683 void importResolution(VTableSlot Slot, VTableSlotInfo &SlotInfo);
1395 WholeProgramDevirtResolution *Res, VTableSlot Slot) {
1417 if (isa<MDString>(Slot.TypeID)) {
1420 getGlobalName(Slot, {}, "branch_funnel"), &M);
1610 std::string DevirtModule::getGlobalName(VTableSlot Slot,
1615 OS << cast<MDString>(Slot.TypeID)->getString() << '_' << Slot.ByteOffset;
1627 void DevirtModule::exportGlobal(VTableSlot Slot, ArrayRef<uint64_t> Args,
1630 getGlobalName(Slot, Args, Name), C, &M);
1634 void DevirtModule::exportConstant(VTableSlot Slot, ArrayRef<uint64_t> Args,
1639 Slot, Args, Name,
1647 Constant *DevirtModule::importGlobal(VTableSlot Slot, ArrayRef<uint64_t> Args,
1650 M.getOrInsertGlobal(getGlobalName(Slot, Args, Name), Int8Arr0Ty);
1657 Constant *DevirtModule::importConstant(VTableSlot Slot, ArrayRef<uint64_t> Args,
1663 Constant *C = importGlobal(Slot, Args, Name);
1712 VTableSlot Slot, ArrayRef<uint64_t> Args) {
1733 exportGlobal(Slot, Args, "unique_member", UniqueMemberAddr);
1784 WholeProgramDevirtResolution *Res, VTableSlot Slot) {
1837 ResByArg, Slot, CSByConstantArg.first))
1880 exportConstant(Slot, CSByConstantArg.first, "byte", OffsetByte,
1882 exportConstant(Slot, CSByConstantArg.first, "bit", 1ULL << OffsetBit,
2116 void DevirtModule::importResolution(VTableSlot Slot, VTableSlotInfo &SlotInfo) {
2117 auto *TypeId = dyn_cast<MDString>(Slot.TypeID);
2124 auto ResI = TidSummary->WPDRes.find(Slot.ByteOffset);
2159 importGlobal(Slot, CSByConstantArg.first, "unique_member");
2165 Constant *Byte = importConstant(Slot, CSByConstantArg.first, "byte",
2167 Constant *Bit = importConstant(Slot, CSByConstantArg.first, "bit", Int8Ty,
2181 M.getOrInsertFunction(getGlobalName(Slot, {}, "branch_funnel"),