aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
diff options
context:
space:
mode:
authorBenjamin Maxwell <benjamin.maxwell@arm.com>2025-08-21 10:01:40 +0100
committerGitHub <noreply@github.com>2025-08-21 10:01:40 +0100
commitbfab8085af878dbcafaf5dfac4e34dc17a20971c (patch)
tree826f36d9f7a47f177fcb36d7498022080335951b /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
parent9039b591d0f9f7711d8ffac775e5f62a3e13284a (diff)
downloadllvm-bfab8085af878dbcafaf5dfac4e34dc17a20971c.zip
llvm-bfab8085af878dbcafaf5dfac4e34dc17a20971c.tar.gz
llvm-bfab8085af878dbcafaf5dfac4e34dc17a20971c.tar.bz2
[libunwind] Add support for the AArch64 "Vector Granule" (VG) register (#153565)
The vector granule (AArch64 DWARF register 46) is a pseudo-register that contains the available size in bits of SVE vector registers in the current call frame, divided by 64. The vector granule can be used in DWARF expressions to describe SVE/SME stack frame layouts (e.g., the location of SVE callee-saves). The first time VG is evaluated (if not already set), it is initialized to the result of evaluating a "CNTD" instruction (this assumes SVE is available). To support SME, the value of VG can change per call frame; this is currently handled like any other callee-save and is intended to support the unwind information implemented in #152283. This limits how VG is used in the CFI information of functions with "streaming-mode changes" (mode changes that change the SVE vector length), to make the unwinder's job easier.
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions