From 0f84a7d355bb547efb950a473fce0bc55f3b1415 Mon Sep 17 00:00:00 2001 From: Dean Michael Berris Date: Mon, 18 Sep 2017 06:08:46 +0000 Subject: [XRay][tools] Support tail-call exits before we write them in the runtime Summary: This change adds support for explicit tail-exit records to be written by the XRay runtime. This lets us differentiate the tail exit records/events in the log, and allows us to treat those exit events especially in the future. For now we allow printing those out in YAML (and reading them in). Reviewers: kpw, pelikan Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37964 llvm-svn: 313514 --- llvm/tools/llvm-xray/xray-graph.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/tools/llvm-xray/xray-graph.cc') diff --git a/llvm/tools/llvm-xray/xray-graph.cc b/llvm/tools/llvm-xray/xray-graph.cc index 685c24cb918..da2d04cf0b9 100644 --- a/llvm/tools/llvm-xray/xray-graph.cc +++ b/llvm/tools/llvm-xray/xray-graph.cc @@ -214,7 +214,8 @@ Error GraphRenderer::accountRecord(const XRayRecord &Record) { ThreadStack.push_back({Record.FuncId, Record.TSC}); break; } - case RecordTypes::EXIT: { + case RecordTypes::EXIT: + case RecordTypes::TAIL_EXIT: { // FIXME: Refactor this and the account subcommand to reduce code // duplication if (ThreadStack.size() == 0 || ThreadStack.back().FuncId != Record.FuncId) { -- cgit v1.2.3