From fc4fd898522afac2d54003f34a4656d898358b03 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Fri, 14 Aug 2020 12:42:21 -0700 Subject: [StackSafety] Use ValueInfo in ParamAccess::Call This avoid GUID lookup in Index.findSummaryInModule. Follow up for D81242. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D85269 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp') diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp index 82b6f20..0fa502f 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp @@ -835,6 +835,8 @@ private: void parseTypeIdCompatibleVtableSummaryRecord(ArrayRef Record); void parseTypeIdCompatibleVtableInfo(ArrayRef Record, size_t &Slot, TypeIdCompatibleVtableInfo &TypeId); + std::vector + parseParamAccesses(ArrayRef Record); std::pair getValueInfoFromValueId(unsigned ValueId); @@ -5856,8 +5858,8 @@ static void parseTypeIdSummaryRecord(ArrayRef Record, parseWholeProgramDevirtResolution(Record, Strtab, Slot, TypeId); } -static std::vector -parseParamAccesses(ArrayRef Record) { +std::vector +ModuleSummaryIndexBitcodeReader::parseParamAccesses(ArrayRef Record) { auto ReadRange = [&]() { APInt Lower(FunctionSummary::ParamAccess::RangeWidth, BitcodeReader::decodeSignRotatedValue(Record.front())); @@ -5883,7 +5885,7 @@ parseParamAccesses(ArrayRef Record) { for (auto &Call : ParamAccess.Calls) { Call.ParamNo = Record.front(); Record = Record.drop_front(); - Call.Callee = Record.front(); + Call.Callee = getValueInfoFromValueId(Record.front()).first; Record = Record.drop_front(); Call.Offsets = ReadRange(); } -- cgit v1.1