[all-commits] [llvm/llvm-project] dde3cf: [trace] Add instruction control flow kind to JSON ...
Jakob Johnson via All-commits
all-commits at lists.llvm.org
Wed Jul 27 05:24:58 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: dde3cf2e83d2a2aec5b46bdac64efbc28a3b2b20
https://github.com/llvm/llvm-project/commit/dde3cf2e83d2a2aec5b46bdac64efbc28a3b2b20
Author: Jakob Johnson <johnsonjakob99 at gmail.com>
Date: 2022-07-27 (Wed, 27 Jul 2022)
Changed paths:
M lldb/source/Target/TraceDumper.cpp
Log Message:
-----------
[trace] Add instruction control flow kind to JSON trace dumper's output
D128477 adds a '-k' flag which displays each instruction's control flow in the `thread trace dump instructions` command's non-json output (ie no '-j' or '-J' flag)
This diff adds the instruction control flow kind to the `thread trace dump instructions` command's JSON output (ie '-j' or '-J' flag)
Test Plan:
Confirm "controlFlowKind" is present in JSON when '-k' is provided
```
(lldb) thread trace dump instructions -J -k
[
{ [141/1952]
"id": 7755,
"loadAddress": "0x400868",
"module": "test.out",
"symbol": "main",
"mnemonic": "jmp",
"controlFlowKind": "jump",
"source": "/home/jakobjohnson/jakob-dev/test.cpp",
"line": 41,
"column": 29
},
{
"id": 7753,
"loadAddress": "0x7ffff7b54dab",
"module": "libstdc++.so.6",
"symbol": "std::ostream::flush()",
"mnemonic": "retq",
"controlFlowKind": "return"
},
{
"id": 7752,
"loadAddress": "0x7ffff7b54daa",
"module": "libstdc++.so.6",
"symbol": "std::ostream::flush()",
"mnemonic": "popq",
"controlFlowKind": "other"
},
...
]
```
Confirm "controlFlowKind" is not present when '-k' isn't provided
```
(lldb) thread trace dump instructions -J
[
{
"id": 7755,
"loadAddress": "0x400868",
"module": "test.out",
"symbol": "main",
"mnemonic": "jmp",
"source": "/home/jakobjohnson/jakob-dev/test.cpp",
"line": 41,
"column": 29
},
{
"id": 7753,
"loadAddress": "0x7ffff7b54dab",
"module": "libstdc++.so.6",
"symbol": "std::ostream::flush()",
"mnemonic": "retq"
},
{
"id": 7752,
"loadAddress": "0x7ffff7b54daa",
"module": "libstdc++.so.6",
"symbol": "std::ostream::flush()",
"mnemonic": "popq"
},
```
Differential Revision: https://reviews.llvm.org/D130607
More information about the All-commits
mailing list