diff options
Diffstat (limited to 'llvm/include/llvm/IR/ModuleSummaryIndex.h')
-rw-r--r-- | llvm/include/llvm/IR/ModuleSummaryIndex.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/ModuleSummaryIndex.h b/llvm/include/llvm/IR/ModuleSummaryIndex.h index 50a2b40ccd2..6db1dee0d5a 100644 --- a/llvm/include/llvm/IR/ModuleSummaryIndex.h +++ b/llvm/include/llvm/IR/ModuleSummaryIndex.h @@ -370,6 +370,14 @@ public: return TIdInfo->TypeCheckedLoadConstVCalls; return {}; } + + /// Add a type test to the summary. This is used by WholeProgramDevirt if we + /// were unable to devirtualize a checked call. + void addTypeTest(GlobalValue::GUID Guid) { + if (!TIdInfo) + TIdInfo = llvm::make_unique<TypeIdInfo>(); + TIdInfo->TypeTests.push_back(Guid); + } }; template <> struct DenseMapInfo<FunctionSummary::VFuncId> { |