/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemoryProfileInfo.h | 29 MDNode *buildCallstackMetadata(ArrayRef<uint64_t> CallStack, LLVMContext &Ctx); 179 template <class NodeT, class IteratorT> class CallStack { in beginAfterSharedPrefix() 181 CallStack(const NodeT *N = nullptr) : N(N) {} 201 CallStackIterator beginAfterSharedPrefix(CallStack &Other); 209 CallStack<NodeT, IteratorT>::CallStackIterator::CallStackIterator( 220 uint64_t CallStack<NodeT, IteratorT>::CallStackIterator::operator*() { 226 uint64_t CallStack<NodeT, IteratorT>::back() const { 232 typename CallStack<NodeT, IteratorT>::CallStackIterator 233 CallStack<NodeT, IteratorT>::begin() const { 238 typename CallStack<Node [all...] |
/llvm-project/clang-tools-extra/clang-tidy/utils/ |
H A D | ExceptionAnalyzer.cpp | 457 llvm::SmallSet<const FunctionDecl *, 32> &CallStack) { in throwsException() 458 if (!Func || CallStack.contains(Func) || in throwsException() 459 (!CallStack.empty() && !canThrow(Func))) in throwsException() 463 CallStack.insert(Func); in throwsException() 464 ExceptionInfo Result = throwsException(Body, Caught, CallStack); in throwsException() 470 throwsException(Init->getInit(), Caught, CallStack); in throwsException() 475 CallStack.erase(Func); in throwsException() 491 llvm::SmallSet<const FunctionDecl *, 32> &CallStack) { in throwsException() 513 throwsException(Try->getTryBlock(), Caught, CallStack); in throwsException() 520 Catch->getHandlerBlock(), Uncaught.getExceptionTypes(), CallStack); in throwsException() 451 throwsException(const FunctionDecl * Func,const ExceptionInfo::Throwables & Caught,llvm::SmallSet<const FunctionDecl *,32> & CallStack) throwsException() argument 484 throwsException(const Stmt * St,const ExceptionInfo::Throwables & Caught,llvm::SmallSet<const FunctionDecl *,32> & CallStack) throwsException() argument 586 llvm::SmallSet<const FunctionDecl *, 32> CallStack; analyzeImpl() local 603 llvm::SmallSet<const FunctionDecl *, 32> CallStack; analyzeImpl() local [all...] |
H A D | ExceptionAnalyzer.h | 132 llvm::SmallSet<const FunctionDecl *, 32> &CallStack); 135 llvm::SmallSet<const FunctionDecl *, 32> &CallStack);
|
/llvm-project/llvm/unittests/ProfileData/ |
H A D | MemProfTest.cpp | 187 EXPECT_THAT(Foo.AllocSites[0].CallStack[0], in TEST() 189 EXPECT_THAT(Foo.AllocSites[0].CallStack[1], in TEST() 191 EXPECT_THAT(Foo.AllocSites[0].CallStack[2], in TEST() 193 EXPECT_THAT(Foo.AllocSites[0].CallStack[3], in TEST() 203 EXPECT_THAT(Bar.AllocSites[0].CallStack[0], in TEST() 205 EXPECT_THAT(Bar.AllocSites[0].CallStack[1], in TEST() 207 EXPECT_THAT(Bar.AllocSites[0].CallStack[2], in TEST() 209 EXPECT_THAT(Bar.AllocSites[0].CallStack[3], in TEST() 404 EXPECT_THAT(Records[0].AllocSites[0].CallStack, in TEST() 417 llvm::SmallVector<FrameId> CallStack{F1I in TEST() 477 std::array<FrameId, 2> CallStack{F1.hash(), F2.hash()}; TEST() local 509 llvm::SmallVector<FrameId> CallStack = {F1.hash(), F2.hash()}; TEST() local [all...] |
/llvm-project/llvm/lib/ProfileData/ |
H A D | MemProf.cpp | 240 AI.CallStack = Callback(IndexedAI.CSId); in deserializeV0() 336 const llvm::SmallVector<FrameIdTy> *CallStack, in deserialize() 339 // Compute the length of the common root prefix between Prev and CallStack. in deserialize() 342 auto Pos = std::mismatch(Prev->rbegin(), Prev->rend(), CallStack->rbegin(), in toMemProfRecord() 343 CallStack->rend()); in toMemProfRecord() 344 CommonLen = std::distance(CallStack->rbegin(), Pos.second); in toMemProfRecord() 362 assert(CommonLen <= CallStack->size()); in getGUID() 363 for (FrameIdTy F : llvm::drop_begin(llvm::reverse(*CallStack), CommonLen)) { in getGUID() 369 assert(CallStack->size() == Indexes.size()); in getGUID() 372 RadixArray.push_back(CallStack in getGUID() 444 encodeCallStack(const llvm::SmallVector<FrameId> * CallStack,const llvm::SmallVector<FrameId> * Prev,const llvm::DenseMap<FrameId,LinearFrameId> & MemProfFrameIndexes) encodeCallStack() argument [all...] |
H A D | MemProfReader.cpp | 180 SmallVector<uint64_t> CallStack; in readStackInfo() 181 CallStack.reserve(NumPCs); in readStackInfo() 183 CallStack.push_back( in readStackInfo() 187 Items[StackId] = CallStack; in readStackInfo() 588 auto &CallStack = Entry.getSecond(); in symbolizeAndFilterStackFrames() 589 llvm::erase_if(CallStack, [&AllVAddrsToDiscard](const uint64_t A) { in symbolizeAndFilterStackFrames() 592 if (CallStack.empty()) in symbolizeAndFilterStackFrames() 794 auto AddCallStack = [&](ArrayRef<Frame> CallStack) -> CallStackId { 796 IndexedCallStack.reserve(CallStack.size()); 797 for (const Frame &F : CallStack) 179 SmallVector<uint64_t> CallStack; readStackInfo() local 625 auto &CallStack = Entry.getSecond(); symbolizeAndFilterStackFrames() local [all...] |
H A D | InstrProfWriter.cpp | 337 const llvm::SmallVector<memprof::FrameId> &CallStack, in addTemporalProfileTrace() 339 auto [Iter, Inserted] = MemProfData.CallStacks.insert({CSId, CallStack}); in addTemporalProfileTraces() 342 // out. We don't support the merging of memprof data whose CallStack -> Id in addTemporalProfileTraces() 344 if (!Inserted && Iter->second != CallStack) { in addTemporalProfileTraces() 470 for (auto &[CSId, CallStack] : IPW.MemProfData.CallStacks) { in writeMemProfRecords() 471 if (!addMemProfCallStack(CSId, CallStack, Warn)) in writeMemProfRecords() 623 for (auto &[CSId, CallStack] : MemProfCallStackData) 624 CallStackTableGenerator.insert(CSId, CallStack); 303 addMemProfCallStack(const memprof::CallStackId CSId,const llvm::SmallVector<memprof::FrameId> & CallStack,function_ref<void (Error)> Warn) addMemProfCallStack() argument
|
/llvm-project/llvm/lib/Analysis/ |
H A D | MemoryProfileInfo.cpp | 83 MDNode *llvm::memprof::buildCallstackMetadata(ArrayRef<uint64_t> CallStack, in getMIBAllocType() 86 StackVals.reserve(CallStack.size()); in getMIBAllocType() 87 for (auto Id : CallStack) { in getMIBAllocType() 191 std::vector<uint64_t> CallStack; in buildMIBNodes() 192 CallStack.reserve(StackMD->getNumOperands()); in buildMIBNodes() 196 CallStack.push_back(StackId->getZExtValue()); in buildMIBNodes() 213 addCallStack(getMIBAllocType(MIB), CallStack, std::move(ContextSizeInfo)); in buildMIBNodes() 399 CallStack<MDNode, MDNode::op_iterator>::CallStackIterator::CallStackIterator( 409 CallStack<MDNode, MDNode::op_iterator>::CallStackIterator::operator*() { 416 template <> uint64_t CallStack<MDNod 65 buildCallstackMetadata(ArrayRef<uint64_t> CallStack,LLVMContext & Ctx) buildCallstackMetadata() argument 163 std::vector<uint64_t> CallStack; addCallStack() local [all...] |
H A D | ModuleSummaryAnalysis.cpp | 519 CallStack<MDNode, MDNode::op_iterator> InstCallsite( in computeFunctionSummary() 531 CallStack<MDNode, MDNode::op_iterator> StackContext(StackNode); in computeFunctionSummary()
|
/llvm-project/llvm/tools/llvm-profgen/ |
H A D | PerfReader.h | 107 static inline void printCallStack(const SmallVectorImpl<uint64_t> &CallStack) { in printCallStack() argument 108 for (size_t I = 0; I < CallStack.size(); I++) { in printCallStack() 109 dbgs() << "[" << I << "] " << format("%#010x", CallStack[I]) << "\n"; in printCallStack() 155 SmallVector<uint64_t, 16> CallStack; member 164 for (const auto &Value : CallStack) { in getHashCode() 175 const SmallVector<uint64_t, 16> &OtherCallStack = Other->CallStack; in isEqual() 178 if (CallStack.size() != OtherCallStack.size() || in isEqual() 182 if (!std::equal(CallStack.begin(), CallStack.end(), OtherCallStack.begin())) in isEqual() 201 printCallStack(CallStack); in print() 271 InstPtr(Binary, Sample->CallStack.front()) { in UnwindState() [all …]
|
H A D | PerfReader.cpp | 645 SmallVectorImpl<uint64_t> &CallStack) { in extractCallstack() 667 if (CallStack.empty()) in extractCallstack() 673 if (CallStack.empty() || CallStack.back() != ExternalAddr) in extractCallstack() 674 CallStack.emplace_back(ExternalAddr); in extractCallstack() 679 if (!CallStack.empty()) { in extractCallstack() 691 CallStack.emplace_back(FrameAddr); in extractCallstack() 695 if (CallStack.size() > 1 && CallStack.back() == ExternalAddr) in extractCallstack() 696 CallStack in extractCallstack() 628 extractCallstack(TraceStream & TraceIt,SmallVectorImpl<uint64_t> & CallStack) extractCallstack() argument [all...] |
H A D | ProfiledBinary.cpp | 922 SampleContextFrameVector CallStack; in symbolize() 943 CallStack.emplace_back(FunctionId(StringRef(*It.first)), Line); in symbolize() 946 return CallStack; in symbolize() 921 SampleContextFrameVector CallStack; symbolize() local
|
/llvm-project/llvm/lib/Target/BPF/ |
H A D | BPFAbstractMemberAccess.cpp | 175 bool HasPreserveFieldInfoCall(CallInfoStack &CallStack); 814 bool BPFAbstractMemberAccess::HasPreserveFieldInfoCall(CallInfoStack &CallStack) { in GetFieldInfo() 815 // This is called in error return path, no need to maintain CallStack. in GetFieldInfo() 816 while (CallStack.size()) { in GetFieldInfo() 817 auto StackElem = CallStack.top(); in GetFieldInfo() 820 CallStack.pop(); 834 CallInfoStack CallStack; 838 CallStack.push(std::make_pair(Call, CInfo)); in computeBaseAndAccessKey() 856 while (CallStack.size()) { in computeBaseAndAccessKey() 857 auto StackElem = CallStack in computeBaseAndAccessKey() 821 HasPreserveFieldInfoCall(CallInfoStack & CallStack) HasPreserveFieldInfoCall() argument 841 CallInfoStack CallStack; computeBaseAndAccessKey() local [all...] |
/llvm-project/clang-tools-extra/clang-tidy/misc/ |
H A D | NoRecursionCheck.cpp | 188 CallStackTy CallStack = CallStackSet.takeVector(); in pathfindSomeCycle() local 189 CallStack.emplace_back(*Node); in pathfindSomeCycle() 191 return CallStack; in pathfindSomeCycle()
|
/llvm-project/llvm/unittests/Analysis/ |
H A D | MemoryProfileInfoTest.cpp | 142 MDNode *CallStack = buildCallstackMetadata({1, 2, 3}, C); 143 ASSERT_EQ(CallStack->getNumOperands(), 3u); in TEST_F() 145 for (auto &Op : CallStack->operands()) { in TEST_F() 699 CallStack<MDNode, MDNode::op_iterator> InstCallsite( in TEST_F() 707 CallStack<MDNode, MDNode::op_iterator> StackContext(StackNode); in TEST_F() 739 CallStack<CallsiteInfo, SmallVector<unsigned>::const_iterator> InstCallsite( 762 CallStack<MIBInfo, SmallVector<unsigned>::const_iterator> StackContext( 130 MDNode *CallStack = buildCallstackMetadata({1, 2, 3}, C); TEST_F() local
|
/llvm-project/clang/include/clang/Analysis/FlowSensitive/ |
H A D | DataflowEnvironment.h | 663 return CallStack.empty() ? InitialTargetFunc : CallStack.back(); in getCurrentFunc() 668 size_t callStackSize() const { return CallStack.size(); } in callStackSize() 759 std::vector<const FunctionDecl *> CallStack; variable
|
/llvm-project/clang/lib/Analysis/FlowSensitive/ |
H A D | DataflowEnvironment.cpp | 603 return CallStack.size() < MaxDepth && !llvm::is_contained(CallStack, Callee); in pushCall() 648 CallStack.push_back(FuncDecl); in pushCallInternal() 732 assert(CallStack == PrevEnv.CallStack); in widen() 769 assert(EnvA.CallStack == EnvB.CallStack); in join() 776 JoinedEnv.CallStack = EnvA.CallStack; in join()
|
/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | MemProfiler.cpp | 741 static uint64_t computeFullStackId(ArrayRef<Frame> CallStack) { in isNewWithHotColdVariant() 744 for (auto &F : CallStack) in isNewWithHotColdVariant() 756 for (const auto &StackFrame : AllocInfo->CallStack) in isNewWithHotColdVariant() 948 auto UndriftCallStack = [&](std::vector<Frame> &CallStack) { in readMemprof() 949 for (auto &F : CallStack) { in readMemprof() 963 UndriftCallStack(AS.CallStack); in readMemprof() 1050 uint64_t StackId = computeStackId(AI.CallStack[0]); in run() 1052 ProfileHasColumns |= AI.CallStack[0].Column; in run() 1148 if (stackFrameIncludesInlinedCallStack(AllocInfo->CallStack, 1154 FullStackId = computeFullStackId(AllocInfo->CallStack); 696 computeFullStackId(const std::vector<memprof::Frame> & CallStack) computeFullStackId() argument [all...] |
/llvm-project/llvm/include/llvm/ProfileData/ |
H A D | MemProf.h | 371 // Same as IndexedAllocationInfo::CallStack with the frame contents inline. 372 std::vector<Frame> CallStack; 383 for (const Frame &F : CallStack) { 1154 const llvm::SmallVector<FrameIdTy> *CallStack, 344 llvm::SmallVector<FrameId> CallStack; global() member 379 std::vector<Frame> CallStack; global() member
|
H A D | InstrProfWriter.h | 227 /// in \p CallStack. 229 const llvm::SmallVector<memprof::FrameId> &CallStack,
|
/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | MemProfContextDisambiguation.cpp | 485 getStackIdsWithContextNodes(CallStack<NodeT, IteratorT> &CallsiteContext); 494 CallStack<NodeT, IteratorT> &StackContext, 495 CallStack<NodeT, IteratorT> &CallsiteContext, 1227 ContextNode *AllocNode, CallStack<NodeT, IteratorT> &StackContext, in assignStackNodesPostOrder() 1228 CallStack<NodeT, IteratorT> &CallsiteContext, AllocationType AllocType, in assignStackNodesPostOrder() 1884 CallStack<MDNode, MDNode::op_iterator> CallsiteContext( in calleesMatch() 1891 CallStack<CallsiteInfo, SmallVector<unsigned>::const_iterator> in calleesMatch() 1938 CallStack<MDNode, MDNode::op_iterator> CallsiteContext( in findProfiledCalleeThroughTailCalls() 1947 CallStack<CallsiteInfo, SmallVector<unsigned>::const_iterator> in findProfiledCalleeThroughTailCalls() 1958 CallStack<Node in findProfiledCalleeThroughTailCalls() [all...] |
/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | Evaluator.cpp | 606 if (is_contained(CallStack, F)) in EvaluateBlock() 609 CallStack.push_back(F); in EvaluateBlock() 650 CallStack.pop_back(); in EvaluateFunction()
|
H A D | InlineFunction.cpp | 835 CallStackTrie CallStack; in propagateMemProfHelper() 837 CallStack.addCallStack(cast<MDNode>(MIB)); in propagateMemProfHelper() 838 bool MemprofMDAttached = CallStack.buildAndAttachMIBMetadata(CI); in propagateMemProfHelper() 817 CallStackTrie CallStack; updateMemprofMetadata() local
|
/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | Evaluator.h | 148 SmallVector<Function*, 4> CallStack; 151 SmallVector<Function*, 4> CallStack; global() variable
|
/llvm-project/clang/lib/StaticAnalyzer/Core/ |
H A D | BugReporter.cpp | 141 CallWithEntryStack CallStack; member in __anon41f697930111::PathDiagnosticConstruct 261 const CallWithEntryStack &CallStack) const; 735 PathDiagnosticPieceRef P, const CallWithEntryStack &CallStack) const { in updateStackPiecesWithMessage() 737 for (const auto &I : CallStack) { in updateStackPiecesWithMessage() 1191 if (!C.CallStack.empty()) { in generatePathDiagnosticsForNode() 1192 assert(C.CallStack.back().first == Call); in generatePathDiagnosticsForNode() 1193 C.CallStack.pop_back(); in generatePathDiagnosticsForNode() 1225 C.CallStack.push_back(CallWithEntry(P, C.getCurrentNode())); in generatePathDiagnosticsForNode() 2049 updateStackPiecesWithMessage(Note, Construct.CallStack); in generate()
|