/llvm-project/llvm/include/llvm/IR/ |
H A D | ModuleSummaryIndex.h | 321 // summaries in the same FunctionSummary have the same number of entries). 409 // summaries in the same FunctionSummary have the same number of entries). 561 /// are listed in the derived FunctionSummary object. 720 class FunctionSummary : public GlobalValueSummary { 872 /// Create an empty FunctionSummary (with specified call edges). 874 static FunctionSummary 875 makeDummyFunctionSummary(SmallVectorImpl<FunctionSummary::EdgeTy> &&Edges) { 876 return FunctionSummary( 877 FunctionSummary::GVFlags( 882 /*NumInsts=*/0, FunctionSummary [all...] |
H A D | ModuleSummaryIndexYAML.h | 145 // Fields for FunctionSummary 148 std::vector<FunctionSummary::VFuncId> TypeTestAssumeVCalls = {}; 149 std::vector<FunctionSummary::VFuncId> TypeCheckedLoadVCalls = {}; 150 std::vector<FunctionSummary::ConstVCall> TypeTestAssumeConstVCalls = {}; 151 std::vector<FunctionSummary::ConstVCall> TypeCheckedLoadConstVCalls = {}; 160 template <> struct MappingTraits<FunctionSummary::VFuncId> { 161 static void mapping(IO &io, FunctionSummary::VFuncId& id) { 167 template <> struct MappingTraits<FunctionSummary::ConstVCall> { 168 static void mapping(IO &io, FunctionSummary::ConstVCall& id) { 177 LLVM_YAML_IS_SEQUENCE_VECTOR(FunctionSummary [all...] |
/llvm-project/llvm/lib/Analysis/ |
H A D | ModuleSummaryAnalysis.cpp | 67 FunctionSummary::ForceSummaryHotnessType ForceSummaryEdgesCold = 68 FunctionSummary::FSHT_None; 71 static cl::opt<FunctionSummary::ForceSummaryHotnessType, true> FSEC( 74 cl::values(clEnumValN(FunctionSummary::FSHT_None, "none", "None."), 75 clEnumValN(FunctionSummary::FSHT_AllNonCritical, 77 clEnumValN(FunctionSummary::FSHT_All, "all", "All edges."))); 185 SetVector<FunctionSummary::VFuncId, std::vector<FunctionSummary::VFuncId>> in addVCallToSet() 187 SetVector<FunctionSummary::ConstVCall, in addVCallToSet() 188 std::vector<FunctionSummary in addVCallToSet() [all...] |
H A D | StackSafetyAnalysis.cpp | 724 FunctionSummary *findCalleeFunctionSummary(ValueInfo VI, StringRef ModuleId) { in findCalleeFunctionSummary() 735 if (!isa<FunctionSummary>(GVS->getBaseObject())) in findCalleeFunctionSummary() 766 if (FunctionSummary *FS = dyn_cast<FunctionSummary>(S)) in findCalleeFunctionSummary() 794 const ConstantRange *findParamAccess(const FunctionSummary &FS, in findParamAccess() 820 FunctionSummary *FS = in resolveAllCalls() 940 std::vector<FunctionSummary::ParamAccess> 943 // into FunctionSummary format. in getParamAccesses() 944 std::vector<FunctionSummary::ParamAccess> ParamAccesses; in getParamAccesses() 954 FunctionSummary in getParamAccesses() [all...] |
/llvm-project/llvm/lib/LTO/ |
H A D | SummaryBasedOptimizations.cpp |
|
/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
H A D | FunctionSummary.h | 33 class FunctionSummary { 51 FunctionSummary() in FunctionSummary() function 56 using MapTy = llvm::DenseMap<const Decl *, FunctionSummary>; 65 using KVPair = std::pair<const Decl *, FunctionSummary>; in findOrInsertSummary() 67 I = Map.insert(KVPair(D, FunctionSummary())).first; in findOrInsertSummary()
|
/llvm-project/llvm/lib/IR/ |
H A D | ModuleSummaryIndex.cpp | 37 constexpr uint32_t FunctionSummary::ParamAccess::RangeWidth; 39 FunctionSummary FunctionSummary::ExternalNode = 40 FunctionSummary::makeDummyFunctionSummary( 41 SmallVector<FunctionSummary::EdgeTy, 0>()); 78 std::pair<unsigned, unsigned> FunctionSummary::specialRefCounts() const { in specialRefCounts() 166 auto *Summary = dyn_cast_or_null<FunctionSummary>(GlobSummary.get()); in collectDefinedFunctionsForModule() 214 assert(VI.getAccessSpecifier() == 0 || isa<FunctionSummary>(S)); in propagateAttributesToRefs() 385 FunctionSummary *F = nullptr; 387 F = cast<FunctionSummary>( [all...] |
H A D | AsmWriter.cpp | 2808 void printFunctionSummary(const FunctionSummary *FS); in AssemblyWriter() 2814 void printTypeIdInfo(const FunctionSummary::TypeIdInfo &TIDInfo); in AssemblyWriter() 2815 void printVFuncId(const FunctionSummary::VFuncId VFId); in AssemblyWriter() 2817 printNonConstVCalls(const std::vector<FunctionSummary::VFuncId> &VCallList, 2820 printConstVCalls(const std::vector<FunctionSummary::ConstVCall> &VCallList, in writeOperand() 3385 void AssemblyWriter::printFunctionSummary(const FunctionSummary *FS) { in printFunctionSummary() 3515 const FunctionSummary::TypeIdInfo &TIDInfo) { in printTypeIdInfo() 3560 void AssemblyWriter::printVFuncId(const FunctionSummary::VFuncId VFId) { in printConstVCalls() 3583 const std::vector<FunctionSummary::VFuncId> &VCallList, const char *Tag) { in printSummary() 3594 const std::vector<FunctionSummary in printSummary() [all...] |
/llvm-project/llvm/unittests/IR/ |
H A D | ModuleSummaryIndexTest.cpp | 39 cast<FunctionSummary>(Index->getGlobalValueSummary(/*guid=*/25)); in TEST() 44 cast<FunctionSummary>(Index->getGlobalValueSummary(/*guid=*/23)); in TEST()
|
/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | FunctionImport.cpp | 238 auto *Summary = dyn_cast<FunctionSummary>(GVSummary->getBaseObject()); in qualifyCalleeCandidates() 307 cast<FunctionSummary>(QualifiedValue.second->getBaseObject()); in selectCallee() 332 using EdgeInfo = std::tuple<const FunctionSummary *, unsigned /* Threshold */>; in shouldImportGlobal() 834 const FunctionSummary &Summary, const ModuleSummaryIndex &Index, in computeImportForFunction() 888 const FunctionSummary *ResolvedCalleeSummary = nullptr; in computeImportForFunction() 903 ResolvedCalleeSummary = cast<FunctionSummary>(CalleeSummary); in computeImportForFunction() 973 ResolvedCalleeSummary = cast<FunctionSummary>(CalleeSummary); in computeImportForModule() 1040 dyn_cast<FunctionSummary>(GVSummary.second->getBaseObject()); in checkVariableImport() 1056 if (auto *FS = dyn_cast<FunctionSummary>(Summary)) in checkVariableImport() 1073 FunctionSummary *F in ComputeCrossModuleImport() [all...] |
H A D | FunctionAttrs.cpp | 303 static FunctionSummary *calculatePrevailingSummary( in calculatePrevailingSummary() 305 DenseMap<ValueInfo, FunctionSummary *> &CachedPrevailingSummary, in calculatePrevailingSummary() 323 /// - Non-existent FunctionSummary for Aliasee. This presents a hole in our in calculatePrevailingSummary() 353 FunctionSummary *Local = nullptr; in calculatePrevailingSummary() 354 FunctionSummary *Prevailing = nullptr; in calculatePrevailingSummary() 360 FunctionSummary *FS = dyn_cast<FunctionSummary>(GVS->getBaseObject()); in calculatePrevailingSummary() 415 DenseMap<ValueInfo, FunctionSummary *> CachedPrevailingSummary; in thinLTOPropagateFunctionAttrs() 420 FunctionSummary::FFlags InferredFlags; in thinLTOPropagateFunctionAttrs() 425 FunctionSummary *CallerSummar in thinLTOPropagateFunctionAttrs() [all...] |
H A D | WholeProgramDevirt.cpp | 425 if (auto *FS = dyn_cast<FunctionSummary>(Summary->getBaseObject())) { in emitRemark() 511 std::vector<FunctionSummary *> SummaryTypeCheckedLoadUsers; 512 std::vector<FunctionSummary *> SummaryTypeTestAssumeUsers; 519 void addSummaryTypeCheckedLoadUser(FunctionSummary *FS) { in findCallSiteInfo() 524 void addSummaryTypeTestAssumeUser(FunctionSummary *FS) { in findCallSiteInfo() 2356 auto *FS = dyn_cast<FunctionSummary>(S.get()); in run() 2360 for (FunctionSummary::VFuncId VF : FS->type_test_assume_vcalls()) { in run() 2365 for (FunctionSummary::VFuncId VF : FS->type_checked_load_vcalls()) { in run() 2370 for (const FunctionSummary::ConstVCall &VC : in run() 2378 for (const FunctionSummary in run() [all...] |
H A D | MemProfContextDisambiguation.cpp | 847 : public CallsiteContextGraph<IndexCallsiteContextGraph, FunctionSummary, in getNodeForInst() 868 friend CallsiteContextGraph<IndexCallsiteContextGraph, FunctionSummary, in getNodeForStackId() 872 const FunctionSummary *getCalleeFunc(IndexCall &Call); 874 IndexCall &Call, const FunctionSummary *Func, 875 const FunctionSummary *CallerFunc, in addOrUpdateCallerEdge() 876 std::vector<std::pair<IndexCall, FunctionSummary *>> &FoundCalleeChain); in addOrUpdateCallerEdge() 880 std::vector<std::pair<IndexCall, FunctionSummary *>> &FoundCalleeChain, in addOrUpdateCallerEdge() 887 CallsiteContextGraph<IndexCallsiteContextGraph, FunctionSummary, in addOrUpdateCallerEdge() 893 std::string getLabel(const FunctionSummary *Func, const IndexCall &Call, in removeNoneTypeCalleeEdges() 898 std::map<const FunctionSummary *, ValueInf in removeNoneTypeCalleeEdges() [all...] |
/llvm-project/llvm/include/llvm/AsmParser/ |
H A D | LLParser.h | 400 bool parseOptionalFFlags(FunctionSummary::FFlags &FFlags); 401 bool parseOptionalCalls(SmallVectorImpl<FunctionSummary::EdgeTy> &Calls); 403 bool parseOptionalTypeIdInfo(FunctionSummary::TypeIdInfo &TypeIdInfo); 406 std::vector<FunctionSummary::VFuncId> &VFuncIdList); 409 std::vector<FunctionSummary::ConstVCall> &ConstVCallList); 412 bool parseConstVCall(FunctionSummary::ConstVCall &ConstVCall, 414 bool parseVFuncId(FunctionSummary::VFuncId &VFuncId, 418 std::vector<FunctionSummary::ParamAccess> &Params); 421 bool parseParamAccess(FunctionSummary::ParamAccess &Param, 423 bool parseParamAccessCall(FunctionSummary [all...] |
/llvm-project/clang/lib/StaticAnalyzer/Core/ |
H A D | CMakeLists.txt | 34 FunctionSummary.cpp
|
/llvm-project/llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/ |
H A D | BUILD.gn | 43 "FunctionSummary.cpp",
|
/llvm-project/llvm/include/llvm/Analysis/ |
H A D | StackSafetyAnalysis.h | 54 std::vector<FunctionSummary::ParamAccess>
|
/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/ |
H A D | JITSymbol.cpp | 62 if (isa<FunctionSummary>(S)) in fromSummary()
|
/llvm-project/llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/ |
H A D | LLJITWithThinLTOSummaries.cpp | 148 if (!isa<FunctionSummary>(S)) in getMainModulePath()
|
/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | FunctionImportUtils.cpp |
|
/llvm-project/llvm/lib/Bitcode/Writer/ |
H A D | BitcodeWriter.cpp | 102 extern FunctionSummary::ForceSummaryHotnessType ForceSummaryEdgesCold; 209 if (auto FS = dyn_cast<FunctionSummary>(Summary.get())) { in ModuleBitcodeWriterBase() 502 auto *FS = dyn_cast<FunctionSummary>(I.second); in IndexBitcodeWriter() 1250 static uint64_t getEncodedFFlags(FunctionSummary::FFlags Flags) { in getEncodedGVarFlags() 4048 FunctionSummary *FS, in writeFunctionTypeMetadataRecords() 4056 ArrayRef<FunctionSummary::VFuncId> VFs) { in writeFunctionTypeMetadataRecords() 4073 ArrayRef<FunctionSummary::ConstVCall> VCs) { in getReferencedTypeIds() 4089 Range = Range.sextOrTrunc(FunctionSummary::ParamAccess::RangeWidth); in writeWholeProgramDevirtResolutionByArg() 4123 getReferencedTypeIds(FunctionSummary *FS, in writeTypeIdSummaryRecord() 4130 [&](ArrayRef<FunctionSummary in writeTypeIdSummaryRecord() [all...] |
/llvm-project/llvm/unittests/Analysis/ |
H A D | MemoryProfileInfoTest.cpp | 736 cast<FunctionSummary>(Index->getGlobalValueSummary(/*guid=*/25)); 758 cast<FunctionSummary>(Index->getGlobalValueSummary(/*guid=*/23));
|
/llvm-project/llvm/lib/AsmParser/ |
H A D | LLParser.cpp | 9398 /// Summary ::= '(' (FunctionSummary | VariableSummary | AliasSummary) ')' in parseFunctionSummary() 9472 /// FunctionSummary in parseVariableSummary() 9490 SmallVector<FunctionSummary::EdgeTy, 0> Calls; in parseVariableSummary() 9491 FunctionSummary::TypeIdInfo TypeIdInfo; in parseVariableSummary() 9492 std::vector<FunctionSummary::ParamAccess> ParamAccesses; in parseVariableSummary() 9497 FunctionSummary::FFlags FFlags = {}; 9546 auto FS = std::make_unique<FunctionSummary>( 9692 bool LLParser::parseOptionalFFlags(FunctionSummary::FFlags &FFlags) { in parseOptionalCalls() 9780 SmallVectorImpl<FunctionSummary::EdgeTy> &Calls) { in parseOptionalVTableFuncs() 9836 FunctionSummary in parseParamAccessOffset() [all...] |
/llvm-project/llvm/lib/Bitcode/Reader/ |
H A D | BitcodeReader.cpp | 1010 SmallVector<FunctionSummary::EdgeTy, 0> 1018 std::vector<FunctionSummary::ParamAccess> in errorToErrorCodeAndEmitErrors() 1153 static FunctionSummary::FFlags getDecodedFFlags(uint64_t RawFlags) { in getDecodedGVSummaryFlags() 1154 FunctionSummary::FFlags Flags; in getDecodedGVSummaryFlags() 7462 SmallVector<FunctionSummary::EdgeTy, 0> in parseParamAccesses() 7466 SmallVector<FunctionSummary::EdgeTy, 0> Ret; in parseParamAccesses() 7488 Ret.push_back(FunctionSummary::EdgeTy{ in parseTypeIdCompatibleVtableInfo() 7544 std::vector<FunctionSummary::ParamAccess> in parseEntireSummary() 7547 APInt Lower(FunctionSummary::ParamAccess::RangeWidth, in parseEntireSummary() 7550 APInt Upper(FunctionSummary in parseEntireSummary() [all...] |
/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/ |
H A D | RetainCountChecker.cpp | 1344 const RetainSummary *FunctionSummary = SmrMgr.getSummary(*C); in checkBeginFunction() local 1345 ArgEffects CalleeSideArgEffects = FunctionSummary->getArgEffects(); in checkBeginFunction()
|