Coverage Report

Created: 2024-08-21 06:24

/src/capstonenext/Mapping.h
Line
Count
Source
1
/* Capstone Disassembly Engine */
2
/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */
3
/*    Rot127 <unisono@quyllur.org>, 2022-2023 */
4
5
#ifndef CS_MAPPING_H
6
#define CS_MAPPING_H
7
8
#if defined(CAPSTONE_HAS_OSXKERNEL)
9
#include <libkern/libkern.h>
10
#else
11
#include "include/capstone/capstone.h"
12
#include <stddef.h>
13
#endif
14
#include "cs_priv.h"
15
#include <assert.h>
16
#include <string.h>
17
18
// map instruction to its characteristics
19
typedef struct insn_map {
20
  unsigned short id;        // The LLVM instruction id
21
  unsigned short mapid;       // The Capstone instruction id
22
#ifndef CAPSTONE_DIET
23
  uint16_t regs_use[MAX_IMPL_R_REGS]; ///< list of implicit registers used by
24
              ///< this instruction
25
  uint16_t regs_mod[MAX_IMPL_W_REGS]; ///< list of implicit registers modified
26
              ///< by this instruction
27
  unsigned char groups
28
    [MAX_NUM_GROUPS]; ///< list of group this instruction belong to
29
  bool branch;      // branch instruction?
30
  bool indirect_branch;   // indirect branch instruction?
31
  union {
32
    ppc_suppl_info ppc;
33
    loongarch_suppl_info loongarch;
34
    aarch64_suppl_info aarch64;
35
  } suppl_info; // Supplementary information for each instruction.
36
#endif
37
} insn_map;
38
39
// look for @id in @m, given its size in @max. first time call will update
40
// @cache. return 0 if not found
41
unsigned short insn_find(const insn_map *m, unsigned int max, unsigned int id,
42
       unsigned short **cache);
43
44
unsigned int find_cs_id(unsigned MC_Opcode, const insn_map *imap,
45
      unsigned imap_size);
46
47
#define MAX_NO_DATA_TYPES 16
48
49
///< A LLVM<->CS Mapping entry of an MCOperand.
50
typedef struct {
51
  uint8_t /* cs_op_type */ type;   ///< Operand type (e.g.: reg, imm, mem)
52
  uint8_t /* cs_ac_type */ access; ///< The access type (read, write)
53
  uint8_t        /* cs_data_type */
54
    dtypes[MAX_NO_DATA_TYPES]; ///< List of op types. Terminated by
55
             ///< CS_DATA_TYPE_LAST
56
} mapping_op;
57
58
#define MAX_NO_INSN_MAP_OPS 16
59
60
///< MCOperands of an instruction.
61
typedef struct {
62
  mapping_op
63
    ops[MAX_NO_INSN_MAP_OPS]; ///< NULL terminated array of insn_op.
64
} map_insn_ops;
65
66
/// Only usable by `auto-sync` archs!
67
const cs_op_type mapping_get_op_type(MCInst *MI, unsigned OpNum,
68
             const map_insn_ops *insn_ops_map,
69
             size_t map_size);
70
71
/// Only usable by `auto-sync` archs!
72
const cs_ac_type mapping_get_op_access(MCInst *MI, unsigned OpNum,
73
               const map_insn_ops *insn_ops_map,
74
               size_t map_size);
75
76
/// Macro for easier access of operand types from the map.
77
/// Assumes the istruction operands map is called "insn_operands"
78
/// Only usable by `auto-sync` archs!
79
#ifndef CAPSTONE_DIET
80
#define map_get_op_type(MI, OpNum) \
81
7.99M
  mapping_get_op_type(MI, OpNum, (const map_insn_ops *)insn_operands, \
82
7.99M
          sizeof(insn_operands) / sizeof(insn_operands[0]))
83
#else
84
#define map_get_op_type(MI, OpNum) \
85
  CS_OP_INVALID
86
#endif
87
88
/// Macro for easier access of operand access flags from the map.
89
/// Assumes the istruction operands map is called "insn_operands"
90
/// Only usable by `auto-sync` archs!
91
#ifndef CAPSTONE_DIET
92
#define map_get_op_access(MI, OpNum) \
93
5.75M
  mapping_get_op_access(MI, OpNum, (const map_insn_ops *)insn_operands, \
94
5.75M
            sizeof(insn_operands) / \
95
5.75M
              sizeof(insn_operands[0]))
96
#else
97
#define map_get_op_access(MI, OpNum) \
98
  CS_AC_INVALID
99
#endif
100
101
///< Map for ids to their string
102
typedef struct name_map {
103
  unsigned int id;
104
  const char *name;
105
} name_map;
106
107
// map a name to its ID
108
// return 0 if not found
109
int name2id(const name_map *map, int max, const char *name);
110
111
// map ID to a name
112
// return NULL if not found
113
const char *id2name(const name_map *map, int max, const unsigned int id);
114
115
void map_add_implicit_write(MCInst *MI, uint32_t Reg);
116
void map_add_implicit_read(MCInst *MI, uint32_t Reg);
117
void map_remove_implicit_write(MCInst *MI, uint32_t Reg);
118
119
void map_implicit_reads(MCInst *MI, const insn_map *imap);
120
121
void map_implicit_writes(MCInst *MI, const insn_map *imap);
122
123
void add_group(MCInst *MI, unsigned /* arch_group */ group);
124
125
void map_groups(MCInst *MI, const insn_map *imap);
126
127
void map_cs_id(MCInst *MI, const insn_map *imap, unsigned int imap_size);
128
129
const void *map_get_suppl_info(MCInst *MI, const insn_map *imap);
130
131
#define DECL_get_detail_op(arch, ARCH) \
132
  cs_##arch##_op *ARCH##_get_detail_op(MCInst *MI, int offset);
133
134
DECL_get_detail_op(arm, ARM);
135
DECL_get_detail_op(ppc, PPC);
136
DECL_get_detail_op(tricore, TriCore);
137
DECL_get_detail_op(aarch64, AArch64);
138
DECL_get_detail_op(alpha, Alpha);
139
DECL_get_detail_op(hppa, HPPA);
140
DECL_get_detail_op(loongarch, LoongArch);
141
DECL_get_detail_op(riscv, RISCV);
142
143
/// Increments the detail->arch.op_count by one.
144
#define DEFINE_inc_detail_op_count(arch, ARCH) \
145
  static inline void ARCH##_inc_op_count(MCInst *MI) \
146
5.24M
  { \
147
5.24M
    MI->flat_insn->detail->arch.op_count++; \
148
5.24M
  }
ARMMapping.c:ARM_inc_op_count
Line
Count
Source
146
3.81M
  { \
147
3.81M
    MI->flat_insn->detail->arch.op_count++; \
148
3.81M
  }
Unexecuted instantiation: ARMMapping.c:PPC_inc_op_count
Unexecuted instantiation: ARMMapping.c:TriCore_inc_op_count
Unexecuted instantiation: ARMMapping.c:AArch64_inc_op_count
Unexecuted instantiation: ARMMapping.c:Alpha_inc_op_count
Unexecuted instantiation: ARMMapping.c:HPPA_inc_op_count
Unexecuted instantiation: ARMMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: ARMMapping.c:RISCV_inc_op_count
AArch64Mapping.c:AArch64_inc_op_count
Line
Count
Source
146
1.08M
  { \
147
1.08M
    MI->flat_insn->detail->arch.op_count++; \
148
1.08M
  }
Unexecuted instantiation: AArch64Mapping.c:ARM_inc_op_count
Unexecuted instantiation: AArch64Mapping.c:PPC_inc_op_count
Unexecuted instantiation: AArch64Mapping.c:TriCore_inc_op_count
Unexecuted instantiation: AArch64Mapping.c:Alpha_inc_op_count
Unexecuted instantiation: AArch64Mapping.c:HPPA_inc_op_count
Unexecuted instantiation: AArch64Mapping.c:LoongArch_inc_op_count
Unexecuted instantiation: AArch64Mapping.c:RISCV_inc_op_count
Unexecuted instantiation: MipsMapping.c:ARM_inc_op_count
Unexecuted instantiation: MipsMapping.c:PPC_inc_op_count
Unexecuted instantiation: MipsMapping.c:TriCore_inc_op_count
Unexecuted instantiation: MipsMapping.c:AArch64_inc_op_count
Unexecuted instantiation: MipsMapping.c:Alpha_inc_op_count
Unexecuted instantiation: MipsMapping.c:HPPA_inc_op_count
Unexecuted instantiation: MipsMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: MipsMapping.c:RISCV_inc_op_count
PPCMapping.c:PPC_inc_op_count
Line
Count
Source
146
187k
  { \
147
187k
    MI->flat_insn->detail->arch.op_count++; \
148
187k
  }
Unexecuted instantiation: PPCMapping.c:ARM_inc_op_count
Unexecuted instantiation: PPCMapping.c:TriCore_inc_op_count
Unexecuted instantiation: PPCMapping.c:AArch64_inc_op_count
Unexecuted instantiation: PPCMapping.c:Alpha_inc_op_count
Unexecuted instantiation: PPCMapping.c:HPPA_inc_op_count
Unexecuted instantiation: PPCMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: PPCMapping.c:RISCV_inc_op_count
Unexecuted instantiation: X86Mapping.c:ARM_inc_op_count
Unexecuted instantiation: X86Mapping.c:PPC_inc_op_count
Unexecuted instantiation: X86Mapping.c:TriCore_inc_op_count
Unexecuted instantiation: X86Mapping.c:AArch64_inc_op_count
Unexecuted instantiation: X86Mapping.c:Alpha_inc_op_count
Unexecuted instantiation: X86Mapping.c:HPPA_inc_op_count
Unexecuted instantiation: X86Mapping.c:LoongArch_inc_op_count
Unexecuted instantiation: X86Mapping.c:RISCV_inc_op_count
Unexecuted instantiation: SparcMapping.c:ARM_inc_op_count
Unexecuted instantiation: SparcMapping.c:PPC_inc_op_count
Unexecuted instantiation: SparcMapping.c:TriCore_inc_op_count
Unexecuted instantiation: SparcMapping.c:AArch64_inc_op_count
Unexecuted instantiation: SparcMapping.c:Alpha_inc_op_count
Unexecuted instantiation: SparcMapping.c:HPPA_inc_op_count
Unexecuted instantiation: SparcMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: SparcMapping.c:RISCV_inc_op_count
Unexecuted instantiation: SystemZMapping.c:ARM_inc_op_count
Unexecuted instantiation: SystemZMapping.c:PPC_inc_op_count
Unexecuted instantiation: SystemZMapping.c:TriCore_inc_op_count
Unexecuted instantiation: SystemZMapping.c:AArch64_inc_op_count
Unexecuted instantiation: SystemZMapping.c:Alpha_inc_op_count
Unexecuted instantiation: SystemZMapping.c:HPPA_inc_op_count
Unexecuted instantiation: SystemZMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: SystemZMapping.c:RISCV_inc_op_count
Unexecuted instantiation: XCoreMapping.c:ARM_inc_op_count
Unexecuted instantiation: XCoreMapping.c:PPC_inc_op_count
Unexecuted instantiation: XCoreMapping.c:TriCore_inc_op_count
Unexecuted instantiation: XCoreMapping.c:AArch64_inc_op_count
Unexecuted instantiation: XCoreMapping.c:Alpha_inc_op_count
Unexecuted instantiation: XCoreMapping.c:HPPA_inc_op_count
Unexecuted instantiation: XCoreMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: XCoreMapping.c:RISCV_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: M68KInstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:ARM_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:PPC_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:TriCore_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:AArch64_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:Alpha_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:HPPA_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: TMS320C64xMapping.c:RISCV_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: M680XInstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: EVMMapping.c:ARM_inc_op_count
Unexecuted instantiation: EVMMapping.c:PPC_inc_op_count
Unexecuted instantiation: EVMMapping.c:TriCore_inc_op_count
Unexecuted instantiation: EVMMapping.c:AArch64_inc_op_count
Unexecuted instantiation: EVMMapping.c:Alpha_inc_op_count
Unexecuted instantiation: EVMMapping.c:HPPA_inc_op_count
Unexecuted instantiation: EVMMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: EVMMapping.c:RISCV_inc_op_count
Unexecuted instantiation: WASMMapping.c:ARM_inc_op_count
Unexecuted instantiation: WASMMapping.c:PPC_inc_op_count
Unexecuted instantiation: WASMMapping.c:TriCore_inc_op_count
Unexecuted instantiation: WASMMapping.c:AArch64_inc_op_count
Unexecuted instantiation: WASMMapping.c:Alpha_inc_op_count
Unexecuted instantiation: WASMMapping.c:HPPA_inc_op_count
Unexecuted instantiation: WASMMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: WASMMapping.c:RISCV_inc_op_count
Unexecuted instantiation: BPFMapping.c:ARM_inc_op_count
Unexecuted instantiation: BPFMapping.c:PPC_inc_op_count
Unexecuted instantiation: BPFMapping.c:TriCore_inc_op_count
Unexecuted instantiation: BPFMapping.c:AArch64_inc_op_count
Unexecuted instantiation: BPFMapping.c:Alpha_inc_op_count
Unexecuted instantiation: BPFMapping.c:HPPA_inc_op_count
Unexecuted instantiation: BPFMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: BPFMapping.c:RISCV_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:ARM_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:PPC_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:TriCore_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:AArch64_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:Alpha_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:HPPA_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:LoongArch_inc_op_count
Unexecuted instantiation: RISCVDisassembler.c:RISCV_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: RISCVInstPrinter.c:RISCV_inc_op_count
RISCVMapping.c:RISCV_inc_op_count
Line
Count
Source
146
157k
  { \
147
157k
    MI->flat_insn->detail->arch.op_count++; \
148
157k
  }
Unexecuted instantiation: RISCVMapping.c:ARM_inc_op_count
Unexecuted instantiation: RISCVMapping.c:PPC_inc_op_count
Unexecuted instantiation: RISCVMapping.c:TriCore_inc_op_count
Unexecuted instantiation: RISCVMapping.c:AArch64_inc_op_count
Unexecuted instantiation: RISCVMapping.c:Alpha_inc_op_count
Unexecuted instantiation: RISCVMapping.c:HPPA_inc_op_count
Unexecuted instantiation: RISCVMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: SHInstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:ARM_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:PPC_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:TriCore_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:AArch64_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:Alpha_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:HPPA_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: TriCoreMapping.c:RISCV_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:ARM_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:PPC_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:TriCore_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:AArch64_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:Alpha_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:HPPA_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:LoongArch_inc_op_count
Unexecuted instantiation: AlphaDisassembler.c:RISCV_inc_op_count
Unexecuted instantiation: AlphaMapping.c:Alpha_inc_op_count
Unexecuted instantiation: AlphaMapping.c:ARM_inc_op_count
Unexecuted instantiation: AlphaMapping.c:PPC_inc_op_count
Unexecuted instantiation: AlphaMapping.c:TriCore_inc_op_count
Unexecuted instantiation: AlphaMapping.c:AArch64_inc_op_count
Unexecuted instantiation: AlphaMapping.c:HPPA_inc_op_count
Unexecuted instantiation: AlphaMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: AlphaMapping.c:RISCV_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:ARM_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:PPC_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:TriCore_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:AArch64_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:Alpha_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:HPPA_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:LoongArch_inc_op_count
Unexecuted instantiation: HPPADisassembler.c:RISCV_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: HPPAInstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: HPPAMapping.c:ARM_inc_op_count
Unexecuted instantiation: HPPAMapping.c:PPC_inc_op_count
Unexecuted instantiation: HPPAMapping.c:TriCore_inc_op_count
Unexecuted instantiation: HPPAMapping.c:AArch64_inc_op_count
Unexecuted instantiation: HPPAMapping.c:Alpha_inc_op_count
Unexecuted instantiation: HPPAMapping.c:HPPA_inc_op_count
Unexecuted instantiation: HPPAMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: HPPAMapping.c:RISCV_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:LoongArch_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:ARM_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:PPC_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:TriCore_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:AArch64_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:Alpha_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:HPPA_inc_op_count
Unexecuted instantiation: LoongArchMapping.c:RISCV_inc_op_count
Unexecuted instantiation: Mapping.c:ARM_inc_op_count
Unexecuted instantiation: Mapping.c:PPC_inc_op_count
Unexecuted instantiation: Mapping.c:TriCore_inc_op_count
Unexecuted instantiation: Mapping.c:AArch64_inc_op_count
Unexecuted instantiation: Mapping.c:Alpha_inc_op_count
Unexecuted instantiation: Mapping.c:HPPA_inc_op_count
Unexecuted instantiation: Mapping.c:LoongArch_inc_op_count
Unexecuted instantiation: Mapping.c:RISCV_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: ARMInstPrinter.c:RISCV_inc_op_count
AArch64InstPrinter.c:AArch64_inc_op_count
Line
Count
Source
146
1.13k
  { \
147
1.13k
    MI->flat_insn->detail->arch.op_count++; \
148
1.13k
  }
Unexecuted instantiation: AArch64InstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: AArch64InstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: AArch64InstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: AArch64InstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: AArch64InstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: AArch64InstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: AArch64InstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: PPCInstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:RISCV_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:ARM_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:PPC_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:TriCore_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:AArch64_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:Alpha_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:HPPA_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:LoongArch_inc_op_count
Unexecuted instantiation: AlphaInstPrinter.c:RISCV_inc_op_count
149
150
/// Decrements the detail->arch.op_count by one.
151
#define DEFINE_dec_detail_op_count(arch, ARCH) \
152
  static inline void ARCH##_dec_op_count(MCInst *MI) \
153
127k
  { \
154
127k
    MI->flat_insn->detail->arch.op_count--; \
155
127k
  }
ARMMapping.c:ARM_dec_op_count
Line
Count
Source
153
62.0k
  { \
154
62.0k
    MI->flat_insn->detail->arch.op_count--; \
155
62.0k
  }
Unexecuted instantiation: ARMMapping.c:PPC_dec_op_count
Unexecuted instantiation: ARMMapping.c:TriCore_dec_op_count
Unexecuted instantiation: ARMMapping.c:AArch64_dec_op_count
Unexecuted instantiation: ARMMapping.c:Alpha_dec_op_count
Unexecuted instantiation: ARMMapping.c:HPPA_dec_op_count
Unexecuted instantiation: ARMMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: ARMMapping.c:RISCV_dec_op_count
AArch64Mapping.c:AArch64_dec_op_count
Line
Count
Source
153
60.8k
  { \
154
60.8k
    MI->flat_insn->detail->arch.op_count--; \
155
60.8k
  }
Unexecuted instantiation: AArch64Mapping.c:ARM_dec_op_count
Unexecuted instantiation: AArch64Mapping.c:PPC_dec_op_count
Unexecuted instantiation: AArch64Mapping.c:TriCore_dec_op_count
Unexecuted instantiation: AArch64Mapping.c:Alpha_dec_op_count
Unexecuted instantiation: AArch64Mapping.c:HPPA_dec_op_count
Unexecuted instantiation: AArch64Mapping.c:LoongArch_dec_op_count
Unexecuted instantiation: AArch64Mapping.c:RISCV_dec_op_count
Unexecuted instantiation: MipsMapping.c:ARM_dec_op_count
Unexecuted instantiation: MipsMapping.c:PPC_dec_op_count
Unexecuted instantiation: MipsMapping.c:TriCore_dec_op_count
Unexecuted instantiation: MipsMapping.c:AArch64_dec_op_count
Unexecuted instantiation: MipsMapping.c:Alpha_dec_op_count
Unexecuted instantiation: MipsMapping.c:HPPA_dec_op_count
Unexecuted instantiation: MipsMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: MipsMapping.c:RISCV_dec_op_count
Unexecuted instantiation: PPCMapping.c:ARM_dec_op_count
Unexecuted instantiation: PPCMapping.c:PPC_dec_op_count
Unexecuted instantiation: PPCMapping.c:TriCore_dec_op_count
Unexecuted instantiation: PPCMapping.c:AArch64_dec_op_count
Unexecuted instantiation: PPCMapping.c:Alpha_dec_op_count
Unexecuted instantiation: PPCMapping.c:HPPA_dec_op_count
Unexecuted instantiation: PPCMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: PPCMapping.c:RISCV_dec_op_count
Unexecuted instantiation: X86Mapping.c:ARM_dec_op_count
Unexecuted instantiation: X86Mapping.c:PPC_dec_op_count
Unexecuted instantiation: X86Mapping.c:TriCore_dec_op_count
Unexecuted instantiation: X86Mapping.c:AArch64_dec_op_count
Unexecuted instantiation: X86Mapping.c:Alpha_dec_op_count
Unexecuted instantiation: X86Mapping.c:HPPA_dec_op_count
Unexecuted instantiation: X86Mapping.c:LoongArch_dec_op_count
Unexecuted instantiation: X86Mapping.c:RISCV_dec_op_count
Unexecuted instantiation: SparcMapping.c:ARM_dec_op_count
Unexecuted instantiation: SparcMapping.c:PPC_dec_op_count
Unexecuted instantiation: SparcMapping.c:TriCore_dec_op_count
Unexecuted instantiation: SparcMapping.c:AArch64_dec_op_count
Unexecuted instantiation: SparcMapping.c:Alpha_dec_op_count
Unexecuted instantiation: SparcMapping.c:HPPA_dec_op_count
Unexecuted instantiation: SparcMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: SparcMapping.c:RISCV_dec_op_count
Unexecuted instantiation: SystemZMapping.c:ARM_dec_op_count
Unexecuted instantiation: SystemZMapping.c:PPC_dec_op_count
Unexecuted instantiation: SystemZMapping.c:TriCore_dec_op_count
Unexecuted instantiation: SystemZMapping.c:AArch64_dec_op_count
Unexecuted instantiation: SystemZMapping.c:Alpha_dec_op_count
Unexecuted instantiation: SystemZMapping.c:HPPA_dec_op_count
Unexecuted instantiation: SystemZMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: SystemZMapping.c:RISCV_dec_op_count
Unexecuted instantiation: XCoreMapping.c:ARM_dec_op_count
Unexecuted instantiation: XCoreMapping.c:PPC_dec_op_count
Unexecuted instantiation: XCoreMapping.c:TriCore_dec_op_count
Unexecuted instantiation: XCoreMapping.c:AArch64_dec_op_count
Unexecuted instantiation: XCoreMapping.c:Alpha_dec_op_count
Unexecuted instantiation: XCoreMapping.c:HPPA_dec_op_count
Unexecuted instantiation: XCoreMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: XCoreMapping.c:RISCV_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: M68KInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:ARM_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:PPC_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:TriCore_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:AArch64_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:Alpha_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:HPPA_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: TMS320C64xMapping.c:RISCV_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: M680XInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: EVMMapping.c:ARM_dec_op_count
Unexecuted instantiation: EVMMapping.c:PPC_dec_op_count
Unexecuted instantiation: EVMMapping.c:TriCore_dec_op_count
Unexecuted instantiation: EVMMapping.c:AArch64_dec_op_count
Unexecuted instantiation: EVMMapping.c:Alpha_dec_op_count
Unexecuted instantiation: EVMMapping.c:HPPA_dec_op_count
Unexecuted instantiation: EVMMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: EVMMapping.c:RISCV_dec_op_count
Unexecuted instantiation: WASMMapping.c:ARM_dec_op_count
Unexecuted instantiation: WASMMapping.c:PPC_dec_op_count
Unexecuted instantiation: WASMMapping.c:TriCore_dec_op_count
Unexecuted instantiation: WASMMapping.c:AArch64_dec_op_count
Unexecuted instantiation: WASMMapping.c:Alpha_dec_op_count
Unexecuted instantiation: WASMMapping.c:HPPA_dec_op_count
Unexecuted instantiation: WASMMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: WASMMapping.c:RISCV_dec_op_count
Unexecuted instantiation: BPFMapping.c:ARM_dec_op_count
Unexecuted instantiation: BPFMapping.c:PPC_dec_op_count
Unexecuted instantiation: BPFMapping.c:TriCore_dec_op_count
Unexecuted instantiation: BPFMapping.c:AArch64_dec_op_count
Unexecuted instantiation: BPFMapping.c:Alpha_dec_op_count
Unexecuted instantiation: BPFMapping.c:HPPA_dec_op_count
Unexecuted instantiation: BPFMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: BPFMapping.c:RISCV_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:ARM_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:PPC_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:TriCore_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:AArch64_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:Alpha_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:HPPA_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:LoongArch_dec_op_count
Unexecuted instantiation: RISCVDisassembler.c:RISCV_dec_op_count
RISCVInstPrinter.c:RISCV_dec_op_count
Line
Count
Source
153
4.67k
  { \
154
4.67k
    MI->flat_insn->detail->arch.op_count--; \
155
4.67k
  }
Unexecuted instantiation: RISCVInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: RISCVInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: RISCVInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: RISCVInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: RISCVInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: RISCVInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: RISCVInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: RISCVMapping.c:ARM_dec_op_count
Unexecuted instantiation: RISCVMapping.c:PPC_dec_op_count
Unexecuted instantiation: RISCVMapping.c:TriCore_dec_op_count
Unexecuted instantiation: RISCVMapping.c:AArch64_dec_op_count
Unexecuted instantiation: RISCVMapping.c:Alpha_dec_op_count
Unexecuted instantiation: RISCVMapping.c:HPPA_dec_op_count
Unexecuted instantiation: RISCVMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: RISCVMapping.c:RISCV_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: SHInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:ARM_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:PPC_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:TriCore_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:AArch64_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:Alpha_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:HPPA_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: TriCoreMapping.c:RISCV_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:ARM_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:PPC_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:TriCore_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:AArch64_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:Alpha_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:HPPA_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:LoongArch_dec_op_count
Unexecuted instantiation: AlphaDisassembler.c:RISCV_dec_op_count
Unexecuted instantiation: AlphaMapping.c:ARM_dec_op_count
Unexecuted instantiation: AlphaMapping.c:PPC_dec_op_count
Unexecuted instantiation: AlphaMapping.c:TriCore_dec_op_count
Unexecuted instantiation: AlphaMapping.c:AArch64_dec_op_count
Unexecuted instantiation: AlphaMapping.c:Alpha_dec_op_count
Unexecuted instantiation: AlphaMapping.c:HPPA_dec_op_count
Unexecuted instantiation: AlphaMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: AlphaMapping.c:RISCV_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:ARM_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:PPC_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:TriCore_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:AArch64_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:Alpha_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:HPPA_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:LoongArch_dec_op_count
Unexecuted instantiation: HPPADisassembler.c:RISCV_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: HPPAInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: HPPAMapping.c:ARM_dec_op_count
Unexecuted instantiation: HPPAMapping.c:PPC_dec_op_count
Unexecuted instantiation: HPPAMapping.c:TriCore_dec_op_count
Unexecuted instantiation: HPPAMapping.c:AArch64_dec_op_count
Unexecuted instantiation: HPPAMapping.c:Alpha_dec_op_count
Unexecuted instantiation: HPPAMapping.c:HPPA_dec_op_count
Unexecuted instantiation: HPPAMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: HPPAMapping.c:RISCV_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:LoongArch_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:ARM_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:PPC_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:TriCore_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:AArch64_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:Alpha_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:HPPA_dec_op_count
Unexecuted instantiation: LoongArchMapping.c:RISCV_dec_op_count
Unexecuted instantiation: Mapping.c:ARM_dec_op_count
Unexecuted instantiation: Mapping.c:PPC_dec_op_count
Unexecuted instantiation: Mapping.c:TriCore_dec_op_count
Unexecuted instantiation: Mapping.c:AArch64_dec_op_count
Unexecuted instantiation: Mapping.c:Alpha_dec_op_count
Unexecuted instantiation: Mapping.c:HPPA_dec_op_count
Unexecuted instantiation: Mapping.c:LoongArch_dec_op_count
Unexecuted instantiation: Mapping.c:RISCV_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: ARMInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: AArch64InstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: PPCInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: TriCoreInstPrinter.c:RISCV_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:ARM_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:PPC_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:TriCore_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:AArch64_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:Alpha_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:HPPA_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:LoongArch_dec_op_count
Unexecuted instantiation: AlphaInstPrinter.c:RISCV_dec_op_count
156
157
DEFINE_inc_detail_op_count(arm, ARM);
158
DEFINE_dec_detail_op_count(arm, ARM);
159
DEFINE_inc_detail_op_count(ppc, PPC);
160
DEFINE_dec_detail_op_count(ppc, PPC);
161
DEFINE_inc_detail_op_count(tricore, TriCore);
162
DEFINE_dec_detail_op_count(tricore, TriCore);
163
DEFINE_inc_detail_op_count(aarch64, AArch64);
164
DEFINE_dec_detail_op_count(aarch64, AArch64);
165
DEFINE_inc_detail_op_count(alpha, Alpha);
166
DEFINE_dec_detail_op_count(alpha, Alpha);
167
DEFINE_inc_detail_op_count(hppa, HPPA);
168
DEFINE_dec_detail_op_count(hppa, HPPA);
169
DEFINE_inc_detail_op_count(loongarch, LoongArch);
170
DEFINE_dec_detail_op_count(loongarch, LoongArch);
171
DEFINE_inc_detail_op_count(riscv, RISCV);
172
DEFINE_dec_detail_op_count(riscv, RISCV);
173
174
/// Returns true if a memory operand is currently edited.
175
static inline bool doing_mem(const MCInst *MI)
176
3.08M
{
177
3.08M
  return MI->csh->doing_mem;
178
3.08M
}
ARMMapping.c:doing_mem
Line
Count
Source
176
2.70M
{
177
2.70M
  return MI->csh->doing_mem;
178
2.70M
}
Unexecuted instantiation: AArch64Mapping.c:doing_mem
Unexecuted instantiation: MipsMapping.c:doing_mem
PPCMapping.c:doing_mem
Line
Count
Source
176
378k
{
177
378k
  return MI->csh->doing_mem;
178
378k
}
Unexecuted instantiation: X86Mapping.c:doing_mem
Unexecuted instantiation: SparcMapping.c:doing_mem
Unexecuted instantiation: SystemZMapping.c:doing_mem
Unexecuted instantiation: XCoreMapping.c:doing_mem
Unexecuted instantiation: M68KInstPrinter.c:doing_mem
Unexecuted instantiation: TMS320C64xMapping.c:doing_mem
Unexecuted instantiation: M680XInstPrinter.c:doing_mem
Unexecuted instantiation: EVMMapping.c:doing_mem
Unexecuted instantiation: WASMMapping.c:doing_mem
Unexecuted instantiation: BPFMapping.c:doing_mem
Unexecuted instantiation: RISCVDisassembler.c:doing_mem
Unexecuted instantiation: RISCVInstPrinter.c:doing_mem
Unexecuted instantiation: RISCVMapping.c:doing_mem
Unexecuted instantiation: SHInstPrinter.c:doing_mem
Unexecuted instantiation: TriCoreMapping.c:doing_mem
Unexecuted instantiation: AlphaDisassembler.c:doing_mem
Unexecuted instantiation: AlphaMapping.c:doing_mem
Unexecuted instantiation: HPPADisassembler.c:doing_mem
Unexecuted instantiation: HPPAInstPrinter.c:doing_mem
Unexecuted instantiation: HPPAMapping.c:doing_mem
Unexecuted instantiation: LoongArchMapping.c:doing_mem
Unexecuted instantiation: Mapping.c:doing_mem
Unexecuted instantiation: ARMInstPrinter.c:doing_mem
Unexecuted instantiation: AArch64InstPrinter.c:doing_mem
Unexecuted instantiation: PPCInstPrinter.c:doing_mem
Unexecuted instantiation: TriCoreInstPrinter.c:doing_mem
Unexecuted instantiation: AlphaInstPrinter.c:doing_mem
179
180
/// Sets the doing_mem flag to @status.
181
static inline void set_doing_mem(const MCInst *MI, bool status)
182
1.21M
{
183
1.21M
  MI->csh->doing_mem = status;
184
1.21M
}
ARMMapping.c:set_doing_mem
Line
Count
Source
182
832k
{
183
832k
  MI->csh->doing_mem = status;
184
832k
}
AArch64Mapping.c:set_doing_mem
Line
Count
Source
182
345k
{
183
345k
  MI->csh->doing_mem = status;
184
345k
}
Unexecuted instantiation: MipsMapping.c:set_doing_mem
PPCMapping.c:set_doing_mem
Line
Count
Source
182
41.6k
{
183
41.6k
  MI->csh->doing_mem = status;
184
41.6k
}
Unexecuted instantiation: X86Mapping.c:set_doing_mem
Unexecuted instantiation: SparcMapping.c:set_doing_mem
Unexecuted instantiation: SystemZMapping.c:set_doing_mem
Unexecuted instantiation: XCoreMapping.c:set_doing_mem
Unexecuted instantiation: M68KInstPrinter.c:set_doing_mem
Unexecuted instantiation: TMS320C64xMapping.c:set_doing_mem
Unexecuted instantiation: M680XInstPrinter.c:set_doing_mem
Unexecuted instantiation: EVMMapping.c:set_doing_mem
Unexecuted instantiation: WASMMapping.c:set_doing_mem
Unexecuted instantiation: BPFMapping.c:set_doing_mem
Unexecuted instantiation: RISCVDisassembler.c:set_doing_mem
Unexecuted instantiation: RISCVInstPrinter.c:set_doing_mem
Unexecuted instantiation: RISCVMapping.c:set_doing_mem
Unexecuted instantiation: SHInstPrinter.c:set_doing_mem
Unexecuted instantiation: TriCoreMapping.c:set_doing_mem
Unexecuted instantiation: AlphaDisassembler.c:set_doing_mem
Unexecuted instantiation: AlphaMapping.c:set_doing_mem
Unexecuted instantiation: HPPADisassembler.c:set_doing_mem
Unexecuted instantiation: HPPAInstPrinter.c:set_doing_mem
Unexecuted instantiation: HPPAMapping.c:set_doing_mem
Unexecuted instantiation: LoongArchMapping.c:set_doing_mem
Unexecuted instantiation: Mapping.c:set_doing_mem
Unexecuted instantiation: ARMInstPrinter.c:set_doing_mem
Unexecuted instantiation: AArch64InstPrinter.c:set_doing_mem
Unexecuted instantiation: PPCInstPrinter.c:set_doing_mem
Unexecuted instantiation: TriCoreInstPrinter.c:set_doing_mem
Unexecuted instantiation: AlphaInstPrinter.c:set_doing_mem
185
186
/// Returns detail->arch
187
#define DEFINE_get_arch_detail(arch, ARCH) \
188
  static inline cs_##arch *ARCH##_get_detail(const MCInst *MI) \
189
91.3M
  { \
190
91.3M
    assert(MI && MI->flat_insn && MI->flat_insn->detail); \
191
91.3M
    return &MI->flat_insn->detail->arch; \
192
91.3M
  }
ARMMapping.c:ARM_get_detail
Line
Count
Source
189
79.8M
  { \
190
79.8M
    assert(MI && MI->flat_insn && MI->flat_insn->detail); \
191
79.8M
    return &MI->flat_insn->detail->arch; \
192
79.8M
  }
Unexecuted instantiation: ARMMapping.c:PPC_get_detail
Unexecuted instantiation: ARMMapping.c:TriCore_get_detail
Unexecuted instantiation: ARMMapping.c:AArch64_get_detail
Unexecuted instantiation: ARMMapping.c:Alpha_get_detail
Unexecuted instantiation: ARMMapping.c:HPPA_get_detail
Unexecuted instantiation: ARMMapping.c:LoongArch_get_detail
Unexecuted instantiation: ARMMapping.c:RISCV_get_detail
AArch64Mapping.c:AArch64_get_detail
Line
Count
Source
189
10.7M
  { \
190
10.7M
    assert(MI && MI->flat_insn && MI->flat_insn->detail); \
191
10.7M
    return &MI->flat_insn->detail->arch; \
192
10.7M
  }
Unexecuted instantiation: AArch64Mapping.c:ARM_get_detail
Unexecuted instantiation: AArch64Mapping.c:PPC_get_detail
Unexecuted instantiation: AArch64Mapping.c:TriCore_get_detail
Unexecuted instantiation: AArch64Mapping.c:Alpha_get_detail
Unexecuted instantiation: AArch64Mapping.c:HPPA_get_detail
Unexecuted instantiation: AArch64Mapping.c:LoongArch_get_detail
Unexecuted instantiation: AArch64Mapping.c:RISCV_get_detail
Unexecuted instantiation: MipsMapping.c:ARM_get_detail
Unexecuted instantiation: MipsMapping.c:PPC_get_detail
Unexecuted instantiation: MipsMapping.c:TriCore_get_detail
Unexecuted instantiation: MipsMapping.c:AArch64_get_detail
Unexecuted instantiation: MipsMapping.c:Alpha_get_detail
Unexecuted instantiation: MipsMapping.c:HPPA_get_detail
Unexecuted instantiation: MipsMapping.c:LoongArch_get_detail
Unexecuted instantiation: MipsMapping.c:RISCV_get_detail
PPCMapping.c:PPC_get_detail
Line
Count
Source
189
725k
  { \
190
725k
    assert(MI && MI->flat_insn && MI->flat_insn->detail); \
191
725k
    return &MI->flat_insn->detail->arch; \
192
725k
  }
Unexecuted instantiation: PPCMapping.c:ARM_get_detail
Unexecuted instantiation: PPCMapping.c:TriCore_get_detail
Unexecuted instantiation: PPCMapping.c:AArch64_get_detail
Unexecuted instantiation: PPCMapping.c:Alpha_get_detail
Unexecuted instantiation: PPCMapping.c:HPPA_get_detail
Unexecuted instantiation: PPCMapping.c:LoongArch_get_detail
Unexecuted instantiation: PPCMapping.c:RISCV_get_detail
Unexecuted instantiation: X86Mapping.c:ARM_get_detail
Unexecuted instantiation: X86Mapping.c:PPC_get_detail
Unexecuted instantiation: X86Mapping.c:TriCore_get_detail
Unexecuted instantiation: X86Mapping.c:AArch64_get_detail
Unexecuted instantiation: X86Mapping.c:Alpha_get_detail
Unexecuted instantiation: X86Mapping.c:HPPA_get_detail
Unexecuted instantiation: X86Mapping.c:LoongArch_get_detail
Unexecuted instantiation: X86Mapping.c:RISCV_get_detail
Unexecuted instantiation: SparcMapping.c:ARM_get_detail
Unexecuted instantiation: SparcMapping.c:PPC_get_detail
Unexecuted instantiation: SparcMapping.c:TriCore_get_detail
Unexecuted instantiation: SparcMapping.c:AArch64_get_detail
Unexecuted instantiation: SparcMapping.c:Alpha_get_detail
Unexecuted instantiation: SparcMapping.c:HPPA_get_detail
Unexecuted instantiation: SparcMapping.c:LoongArch_get_detail
Unexecuted instantiation: SparcMapping.c:RISCV_get_detail
Unexecuted instantiation: SystemZMapping.c:ARM_get_detail
Unexecuted instantiation: SystemZMapping.c:PPC_get_detail
Unexecuted instantiation: SystemZMapping.c:TriCore_get_detail
Unexecuted instantiation: SystemZMapping.c:AArch64_get_detail
Unexecuted instantiation: SystemZMapping.c:Alpha_get_detail
Unexecuted instantiation: SystemZMapping.c:HPPA_get_detail
Unexecuted instantiation: SystemZMapping.c:LoongArch_get_detail
Unexecuted instantiation: SystemZMapping.c:RISCV_get_detail
Unexecuted instantiation: XCoreMapping.c:ARM_get_detail
Unexecuted instantiation: XCoreMapping.c:PPC_get_detail
Unexecuted instantiation: XCoreMapping.c:TriCore_get_detail
Unexecuted instantiation: XCoreMapping.c:AArch64_get_detail
Unexecuted instantiation: XCoreMapping.c:Alpha_get_detail
Unexecuted instantiation: XCoreMapping.c:HPPA_get_detail
Unexecuted instantiation: XCoreMapping.c:LoongArch_get_detail
Unexecuted instantiation: XCoreMapping.c:RISCV_get_detail
Unexecuted instantiation: M68KInstPrinter.c:ARM_get_detail
Unexecuted instantiation: M68KInstPrinter.c:PPC_get_detail
Unexecuted instantiation: M68KInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: M68KInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: M68KInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: M68KInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: M68KInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: M68KInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:ARM_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:PPC_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:TriCore_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:AArch64_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:Alpha_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:HPPA_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:LoongArch_get_detail
Unexecuted instantiation: TMS320C64xMapping.c:RISCV_get_detail
Unexecuted instantiation: M680XInstPrinter.c:ARM_get_detail
Unexecuted instantiation: M680XInstPrinter.c:PPC_get_detail
Unexecuted instantiation: M680XInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: M680XInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: M680XInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: M680XInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: M680XInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: M680XInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: EVMMapping.c:ARM_get_detail
Unexecuted instantiation: EVMMapping.c:PPC_get_detail
Unexecuted instantiation: EVMMapping.c:TriCore_get_detail
Unexecuted instantiation: EVMMapping.c:AArch64_get_detail
Unexecuted instantiation: EVMMapping.c:Alpha_get_detail
Unexecuted instantiation: EVMMapping.c:HPPA_get_detail
Unexecuted instantiation: EVMMapping.c:LoongArch_get_detail
Unexecuted instantiation: EVMMapping.c:RISCV_get_detail
Unexecuted instantiation: WASMMapping.c:ARM_get_detail
Unexecuted instantiation: WASMMapping.c:PPC_get_detail
Unexecuted instantiation: WASMMapping.c:TriCore_get_detail
Unexecuted instantiation: WASMMapping.c:AArch64_get_detail
Unexecuted instantiation: WASMMapping.c:Alpha_get_detail
Unexecuted instantiation: WASMMapping.c:HPPA_get_detail
Unexecuted instantiation: WASMMapping.c:LoongArch_get_detail
Unexecuted instantiation: WASMMapping.c:RISCV_get_detail
Unexecuted instantiation: BPFMapping.c:ARM_get_detail
Unexecuted instantiation: BPFMapping.c:PPC_get_detail
Unexecuted instantiation: BPFMapping.c:TriCore_get_detail
Unexecuted instantiation: BPFMapping.c:AArch64_get_detail
Unexecuted instantiation: BPFMapping.c:Alpha_get_detail
Unexecuted instantiation: BPFMapping.c:HPPA_get_detail
Unexecuted instantiation: BPFMapping.c:LoongArch_get_detail
Unexecuted instantiation: BPFMapping.c:RISCV_get_detail
Unexecuted instantiation: RISCVDisassembler.c:RISCV_get_detail
Unexecuted instantiation: RISCVDisassembler.c:ARM_get_detail
Unexecuted instantiation: RISCVDisassembler.c:PPC_get_detail
Unexecuted instantiation: RISCVDisassembler.c:TriCore_get_detail
Unexecuted instantiation: RISCVDisassembler.c:AArch64_get_detail
Unexecuted instantiation: RISCVDisassembler.c:Alpha_get_detail
Unexecuted instantiation: RISCVDisassembler.c:HPPA_get_detail
Unexecuted instantiation: RISCVDisassembler.c:LoongArch_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:ARM_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:PPC_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: RISCVInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: RISCVMapping.c:ARM_get_detail
Unexecuted instantiation: RISCVMapping.c:PPC_get_detail
Unexecuted instantiation: RISCVMapping.c:TriCore_get_detail
Unexecuted instantiation: RISCVMapping.c:AArch64_get_detail
Unexecuted instantiation: RISCVMapping.c:Alpha_get_detail
Unexecuted instantiation: RISCVMapping.c:HPPA_get_detail
Unexecuted instantiation: RISCVMapping.c:LoongArch_get_detail
Unexecuted instantiation: RISCVMapping.c:RISCV_get_detail
Unexecuted instantiation: SHInstPrinter.c:ARM_get_detail
Unexecuted instantiation: SHInstPrinter.c:PPC_get_detail
Unexecuted instantiation: SHInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: SHInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: SHInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: SHInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: SHInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: SHInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: TriCoreMapping.c:ARM_get_detail
Unexecuted instantiation: TriCoreMapping.c:PPC_get_detail
Unexecuted instantiation: TriCoreMapping.c:TriCore_get_detail
Unexecuted instantiation: TriCoreMapping.c:AArch64_get_detail
Unexecuted instantiation: TriCoreMapping.c:Alpha_get_detail
Unexecuted instantiation: TriCoreMapping.c:HPPA_get_detail
Unexecuted instantiation: TriCoreMapping.c:LoongArch_get_detail
Unexecuted instantiation: TriCoreMapping.c:RISCV_get_detail
Unexecuted instantiation: AlphaDisassembler.c:ARM_get_detail
Unexecuted instantiation: AlphaDisassembler.c:PPC_get_detail
Unexecuted instantiation: AlphaDisassembler.c:TriCore_get_detail
Unexecuted instantiation: AlphaDisassembler.c:AArch64_get_detail
Unexecuted instantiation: AlphaDisassembler.c:Alpha_get_detail
Unexecuted instantiation: AlphaDisassembler.c:HPPA_get_detail
Unexecuted instantiation: AlphaDisassembler.c:LoongArch_get_detail
Unexecuted instantiation: AlphaDisassembler.c:RISCV_get_detail
Unexecuted instantiation: AlphaMapping.c:ARM_get_detail
Unexecuted instantiation: AlphaMapping.c:PPC_get_detail
Unexecuted instantiation: AlphaMapping.c:TriCore_get_detail
Unexecuted instantiation: AlphaMapping.c:AArch64_get_detail
Unexecuted instantiation: AlphaMapping.c:Alpha_get_detail
Unexecuted instantiation: AlphaMapping.c:HPPA_get_detail
Unexecuted instantiation: AlphaMapping.c:LoongArch_get_detail
Unexecuted instantiation: AlphaMapping.c:RISCV_get_detail
Unexecuted instantiation: HPPADisassembler.c:ARM_get_detail
Unexecuted instantiation: HPPADisassembler.c:PPC_get_detail
Unexecuted instantiation: HPPADisassembler.c:TriCore_get_detail
Unexecuted instantiation: HPPADisassembler.c:AArch64_get_detail
Unexecuted instantiation: HPPADisassembler.c:Alpha_get_detail
Unexecuted instantiation: HPPADisassembler.c:HPPA_get_detail
Unexecuted instantiation: HPPADisassembler.c:LoongArch_get_detail
Unexecuted instantiation: HPPADisassembler.c:RISCV_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:ARM_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:PPC_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: HPPAInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: HPPAMapping.c:ARM_get_detail
Unexecuted instantiation: HPPAMapping.c:PPC_get_detail
Unexecuted instantiation: HPPAMapping.c:TriCore_get_detail
Unexecuted instantiation: HPPAMapping.c:AArch64_get_detail
Unexecuted instantiation: HPPAMapping.c:Alpha_get_detail
Unexecuted instantiation: HPPAMapping.c:HPPA_get_detail
Unexecuted instantiation: HPPAMapping.c:LoongArch_get_detail
Unexecuted instantiation: HPPAMapping.c:RISCV_get_detail
Unexecuted instantiation: LoongArchMapping.c:LoongArch_get_detail
Unexecuted instantiation: LoongArchMapping.c:ARM_get_detail
Unexecuted instantiation: LoongArchMapping.c:PPC_get_detail
Unexecuted instantiation: LoongArchMapping.c:TriCore_get_detail
Unexecuted instantiation: LoongArchMapping.c:AArch64_get_detail
Unexecuted instantiation: LoongArchMapping.c:Alpha_get_detail
Unexecuted instantiation: LoongArchMapping.c:HPPA_get_detail
Unexecuted instantiation: LoongArchMapping.c:RISCV_get_detail
Unexecuted instantiation: Mapping.c:ARM_get_detail
Unexecuted instantiation: Mapping.c:PPC_get_detail
Unexecuted instantiation: Mapping.c:TriCore_get_detail
Unexecuted instantiation: Mapping.c:AArch64_get_detail
Unexecuted instantiation: Mapping.c:Alpha_get_detail
Unexecuted instantiation: Mapping.c:HPPA_get_detail
Unexecuted instantiation: Mapping.c:LoongArch_get_detail
Unexecuted instantiation: Mapping.c:RISCV_get_detail
Unexecuted instantiation: ARMInstPrinter.c:ARM_get_detail
Unexecuted instantiation: ARMInstPrinter.c:PPC_get_detail
Unexecuted instantiation: ARMInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: ARMInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: ARMInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: ARMInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: ARMInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: ARMInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:ARM_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:PPC_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:TriCore_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:AArch64_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:Alpha_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:HPPA_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: AArch64InstPrinter.c:RISCV_get_detail
Unexecuted instantiation: PPCInstPrinter.c:ARM_get_detail
Unexecuted instantiation: PPCInstPrinter.c:PPC_get_detail
Unexecuted instantiation: PPCInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: PPCInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: PPCInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: PPCInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: PPCInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: PPCInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:ARM_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:PPC_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:RISCV_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:ARM_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:PPC_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:TriCore_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:AArch64_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:Alpha_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:HPPA_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:LoongArch_get_detail
Unexecuted instantiation: AlphaInstPrinter.c:RISCV_get_detail
193
194
DEFINE_get_arch_detail(arm, ARM);
195
DEFINE_get_arch_detail(ppc, PPC);
196
DEFINE_get_arch_detail(tricore, TriCore);
197
DEFINE_get_arch_detail(aarch64, AArch64);
198
DEFINE_get_arch_detail(alpha, Alpha);
199
DEFINE_get_arch_detail(hppa, HPPA);
200
DEFINE_get_arch_detail(loongarch, LoongArch);
201
DEFINE_get_arch_detail(riscv, RISCV);
202
203
static inline bool detail_is_set(const MCInst *MI)
204
34.0M
{
205
34.0M
  assert(MI && MI->flat_insn);
206
34.0M
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
34.0M
}
ARMMapping.c:detail_is_set
Line
Count
Source
204
22.7M
{
205
22.7M
  assert(MI && MI->flat_insn);
206
22.7M
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
22.7M
}
AArch64Mapping.c:detail_is_set
Line
Count
Source
204
6.44M
{
205
6.44M
  assert(MI && MI->flat_insn);
206
6.44M
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
6.44M
}
Unexecuted instantiation: MipsMapping.c:detail_is_set
PPCMapping.c:detail_is_set
Line
Count
Source
204
974k
{
205
974k
  assert(MI && MI->flat_insn);
206
974k
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
974k
}
Unexecuted instantiation: X86Mapping.c:detail_is_set
Unexecuted instantiation: SparcMapping.c:detail_is_set
Unexecuted instantiation: SystemZMapping.c:detail_is_set
Unexecuted instantiation: XCoreMapping.c:detail_is_set
Unexecuted instantiation: M68KInstPrinter.c:detail_is_set
Unexecuted instantiation: TMS320C64xMapping.c:detail_is_set
Unexecuted instantiation: M680XInstPrinter.c:detail_is_set
Unexecuted instantiation: EVMMapping.c:detail_is_set
Unexecuted instantiation: WASMMapping.c:detail_is_set
Unexecuted instantiation: BPFMapping.c:detail_is_set
RISCVDisassembler.c:detail_is_set
Line
Count
Source
204
823
{
205
823
  assert(MI && MI->flat_insn);
206
823
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
823
}
Unexecuted instantiation: RISCVInstPrinter.c:detail_is_set
RISCVMapping.c:detail_is_set
Line
Count
Source
204
157k
{
205
157k
  assert(MI && MI->flat_insn);
206
157k
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
157k
}
Unexecuted instantiation: SHInstPrinter.c:detail_is_set
Unexecuted instantiation: TriCoreMapping.c:detail_is_set
Unexecuted instantiation: AlphaDisassembler.c:detail_is_set
Unexecuted instantiation: AlphaMapping.c:detail_is_set
Unexecuted instantiation: HPPADisassembler.c:detail_is_set
Unexecuted instantiation: HPPAInstPrinter.c:detail_is_set
Unexecuted instantiation: HPPAMapping.c:detail_is_set
Unexecuted instantiation: LoongArchMapping.c:detail_is_set
Mapping.c:detail_is_set
Line
Count
Source
204
3.70M
{
205
3.70M
  assert(MI && MI->flat_insn);
206
3.70M
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
3.70M
}
Unexecuted instantiation: ARMInstPrinter.c:detail_is_set
AArch64InstPrinter.c:detail_is_set
Line
Count
Source
204
7.38k
{
205
7.38k
  assert(MI && MI->flat_insn);
206
7.38k
  return MI->flat_insn->detail != NULL && MI->csh->detail_opt & CS_OPT_ON;
207
7.38k
}
Unexecuted instantiation: PPCInstPrinter.c:detail_is_set
Unexecuted instantiation: TriCoreInstPrinter.c:detail_is_set
Unexecuted instantiation: AlphaInstPrinter.c:detail_is_set
208
209
static inline cs_detail *get_detail(const MCInst *MI)
210
3.79M
{
211
3.79M
  assert(MI && MI->flat_insn);
212
3.79M
  return MI->flat_insn->detail;
213
3.79M
}
ARMMapping.c:get_detail
Line
Count
Source
210
2.96M
{
211
2.96M
  assert(MI && MI->flat_insn);
212
2.96M
  return MI->flat_insn->detail;
213
2.96M
}
AArch64Mapping.c:get_detail
Line
Count
Source
210
683k
{
211
683k
  assert(MI && MI->flat_insn);
212
683k
  return MI->flat_insn->detail;
213
683k
}
Unexecuted instantiation: MipsMapping.c:get_detail
PPCMapping.c:get_detail
Line
Count
Source
210
141k
{
211
141k
  assert(MI && MI->flat_insn);
212
141k
  return MI->flat_insn->detail;
213
141k
}
Unexecuted instantiation: X86Mapping.c:get_detail
Unexecuted instantiation: SparcMapping.c:get_detail
Unexecuted instantiation: SystemZMapping.c:get_detail
Unexecuted instantiation: XCoreMapping.c:get_detail
Unexecuted instantiation: M68KInstPrinter.c:get_detail
Unexecuted instantiation: TMS320C64xMapping.c:get_detail
Unexecuted instantiation: M680XInstPrinter.c:get_detail
Unexecuted instantiation: EVMMapping.c:get_detail
Unexecuted instantiation: WASMMapping.c:get_detail
Unexecuted instantiation: BPFMapping.c:get_detail
Unexecuted instantiation: RISCVDisassembler.c:get_detail
Unexecuted instantiation: RISCVInstPrinter.c:get_detail
Unexecuted instantiation: RISCVMapping.c:get_detail
Unexecuted instantiation: SHInstPrinter.c:get_detail
Unexecuted instantiation: TriCoreMapping.c:get_detail
Unexecuted instantiation: AlphaDisassembler.c:get_detail
Unexecuted instantiation: AlphaMapping.c:get_detail
Unexecuted instantiation: HPPADisassembler.c:get_detail
Unexecuted instantiation: HPPAInstPrinter.c:get_detail
Unexecuted instantiation: HPPAMapping.c:get_detail
Unexecuted instantiation: LoongArchMapping.c:get_detail
Unexecuted instantiation: Mapping.c:get_detail
Unexecuted instantiation: ARMInstPrinter.c:get_detail
Unexecuted instantiation: AArch64InstPrinter.c:get_detail
Unexecuted instantiation: PPCInstPrinter.c:get_detail
Unexecuted instantiation: TriCoreInstPrinter.c:get_detail
Unexecuted instantiation: AlphaInstPrinter.c:get_detail
214
215
/// Returns if the given instruction is an alias instruction.
216
#define RETURN_IF_INSN_IS_ALIAS(MI) \
217
do { \
218
  if (MI->isAliasInstr) \
219
    return; \
220
} while(0)
221
222
void map_set_fill_detail_ops(MCInst *MI, bool Val);
223
224
6.57M
static inline bool map_fill_detail_ops(MCInst *MI) {
225
6.57M
  assert(MI);
226
6.57M
  return MI->fillDetailOps;
227
6.57M
}
ARMMapping.c:map_fill_detail_ops
Line
Count
Source
224
5.26M
static inline bool map_fill_detail_ops(MCInst *MI) {
225
5.26M
  assert(MI);
226
5.26M
  return MI->fillDetailOps;
227
5.26M
}
AArch64Mapping.c:map_fill_detail_ops
Line
Count
Source
224
1.08M
static inline bool map_fill_detail_ops(MCInst *MI) {
225
1.08M
  assert(MI);
226
1.08M
  return MI->fillDetailOps;
227
1.08M
}
Unexecuted instantiation: MipsMapping.c:map_fill_detail_ops
PPCMapping.c:map_fill_detail_ops
Line
Count
Source
224
226k
static inline bool map_fill_detail_ops(MCInst *MI) {
225
226k
  assert(MI);
226
226k
  return MI->fillDetailOps;
227
226k
}
Unexecuted instantiation: X86Mapping.c:map_fill_detail_ops
Unexecuted instantiation: SparcMapping.c:map_fill_detail_ops
Unexecuted instantiation: SystemZMapping.c:map_fill_detail_ops
Unexecuted instantiation: XCoreMapping.c:map_fill_detail_ops
Unexecuted instantiation: M68KInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: TMS320C64xMapping.c:map_fill_detail_ops
Unexecuted instantiation: M680XInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: EVMMapping.c:map_fill_detail_ops
Unexecuted instantiation: WASMMapping.c:map_fill_detail_ops
Unexecuted instantiation: BPFMapping.c:map_fill_detail_ops
Unexecuted instantiation: RISCVDisassembler.c:map_fill_detail_ops
Unexecuted instantiation: RISCVInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: RISCVMapping.c:map_fill_detail_ops
Unexecuted instantiation: SHInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: TriCoreMapping.c:map_fill_detail_ops
Unexecuted instantiation: AlphaDisassembler.c:map_fill_detail_ops
Unexecuted instantiation: AlphaMapping.c:map_fill_detail_ops
Unexecuted instantiation: HPPADisassembler.c:map_fill_detail_ops
Unexecuted instantiation: HPPAInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: HPPAMapping.c:map_fill_detail_ops
Unexecuted instantiation: LoongArchMapping.c:map_fill_detail_ops
Unexecuted instantiation: Mapping.c:map_fill_detail_ops
Unexecuted instantiation: ARMInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: AArch64InstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: PPCInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: TriCoreInstPrinter.c:map_fill_detail_ops
Unexecuted instantiation: AlphaInstPrinter.c:map_fill_detail_ops
228
229
void map_set_is_alias_insn(MCInst *MI, bool Val, uint64_t Alias);
230
231
bool map_use_alias_details(const MCInst *MI);
232
233
void map_set_alias_id(MCInst *MI, const SStream *O, const name_map *alias_mnem_id_map, int map_size);
234
235
#endif // CS_MAPPING_H