perf annotate: Use ins__is_xxx() if possible
authorNamhyung Kim <namhyung@kernel.org>
Fri, 29 Mar 2024 21:58:08 +0000 (14:58 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 3 Apr 2024 14:48:56 +0000 (11:48 -0300)
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 <namhyung@kernel.org>
Tested-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20240329215812.537846-2-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/annotate.c

index 64e54ff1aa1d122d1ed55bce5f4381d6f11a95f1..986c499150ef767420454a586bec509f39b09372 100644 (file)
@@ -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)