diff options
Diffstat (limited to 'contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp b/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp index 39d2c5c153ef..ff47eb64e947 100644 --- a/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp +++ b/contrib/llvm-project/llvm/tools/llvm-xray/xray-graph.cpp @@ -232,10 +232,11 @@ Error GraphRenderer::accountRecord(const XRayRecord &Record) { if (!DeduceSiblingCalls) return make_error<StringError>("No matching ENTRY record", make_error_code(errc::invalid_argument)); - auto Parent = std::find_if( - ThreadStack.rbegin(), ThreadStack.rend(), - [&](const FunctionAttr &A) { return A.FuncId == Record.FuncId; }); - if (Parent == ThreadStack.rend()) + bool FoundParent = + llvm::any_of(llvm::reverse(ThreadStack), [&](const FunctionAttr &A) { + return A.FuncId == Record.FuncId; + }); + if (!FoundParent) return make_error<StringError>( "No matching Entry record in stack", make_error_code(errc::invalid_argument)); // There is no matching |