diff options
| author | Tengda Wu <wutengda@huaweicloud.com> | 2026-10-20 13:44:58 +0000 |
|---|---|---|
| committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2026-10-22 17:17:01 -0300 |
| commit | 059f12f8cd29adcf59973a8ea4ca96ea4873fcf0 (patch) | |
| tree | 03b1ac7a58e2ecd6aa0d28a3355ce3ec6f914684 /scripts/Makefile.thinlto | |
| parent | edc11f5794424988314966df3bde1d8573972cd7 (diff) | |
| download | linux-059f12f8cd29adcf59973a8ea4ca96ea4873fcf0.tar.gz linux-059f12f8cd29adcf59973a8ea4ca96ea4873fcf0.zip | |
perf annotate-arm64: Enable instruction tracking support
Enable basic instruction tracking for arm64 by implementing three
essential functions in the find_data_type_block() call path:
find_data_type_block
-> arch_supports_insn_tracking (1)
-> find_data_type_insn
-> init_type_state (2)
-> update_var_state
-> update_insn_state (3)
Changes:
* arch_supports_insn_tracking(): add arm64 to the list of supported
architectures, allowing find_data_type_block() to proceed with data
type analysis.
* init_type_state(): correctly identify ret_reg, stack_reg, and
caller-saved registers for arm64 during type state initialization.
* update_insn_state(): add the update_insn_state_arm64() callback with
conservative register invalidation for call instructions and those with
destination register(s), preventing stale type propagation.
For now the invalidation path does not treat special instructions
individually; doing so for every such instruction up front would be
costly. A TODO is therefore left in invalidate_unhandled_insn_regs()
marking where per-instruction invalidation handling is to be extended
in future patches.
With these changes, arm64 gains support for basic variable type
inference during instruction tracking.
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Li Huafei <lihuafei1@huawei.com>
Signed-off-by: Tengda Wu <wutengda@huaweicloud.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
