aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/annotate.c
diff options
context:
space:
mode:
authorNamhyung Kim <[email protected]>2024-03-29 21:58:08 +0000
committerArnaldo Carvalho de Melo <[email protected]>2024-04-03 14:48:56 +0000
commitad399baa06931a62d1166d215eaad6f3b0dcd3d5 (patch)
tree8863cb83184fde125cc380738aa15df6234e7ac8 /tools/perf/util/annotate.c
parentperf evsel: Use evsel__name_is() helper (diff)
downloadkernel-ad399baa06931a62d1166d215eaad6f3b0dcd3d5.tar.gz
kernel-ad399baa06931a62d1166d215eaad6f3b0dcd3d5.zip
perf annotate: Use ins__is_xxx() if possible
This is to prepare separation of disasm related code. Use the public ins API instead of checking the internal data structure. Signed-off-by: Namhyung Kim <[email protected]> Tested-by: Ian Rogers <[email protected]> Cc: Adrian Hunter <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Kan Liang <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
Diffstat (limited to 'tools/perf/util/annotate.c')
-rw-r--r--tools/perf/util/annotate.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 64e54ff1aa1d..986c499150ef 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -3665,7 +3665,7 @@ int annotate_get_insn_location(struct arch *arch, struct disasm_line *dl,
struct annotated_op_loc *op_loc;
int i;
- if (!strcmp(dl->ins.name, "lock"))
+ if (ins__is_lock(&dl->ins))
ops = dl->ops.locked.ops;
else
ops = &dl->ops;
@@ -3763,7 +3763,7 @@ static struct disasm_line *find_disasm_line(struct symbol *sym, u64 ip,
* llvm-objdump places "lock" in a separate line and
* in that case, we want to get the next line.
*/
- if (!strcmp(dl->ins.name, "lock") &&
+ if (ins__is_lock(&dl->ins) &&
*dl->ops.raw == '\0' && allow_update) {
ip++;
continue;
@@ -4093,10 +4093,10 @@ static bool process_basic_block(struct basic_block_data *bb_data,
if (dl == last_dl)
break;
/* 'return' instruction finishes the block */
- if (dl->ins.ops == &ret_ops)
+ if (ins__is_ret(&dl->ins))
break;
/* normal instructions are part of the basic block */
- if (dl->ins.ops != &jump_ops)
+ if (!ins__is_jump(&dl->ins))
continue;
/* jump to a different function, tail call or return */
if (dl->ops.target.outside)