aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
diff options
context:
space:
mode:
authorElizaveta Noskova <159026035+enoskova-sc@users.noreply.github.com>2025-09-23 11:54:52 +0300
committerGitHub <noreply@github.com>2025-09-23 11:54:52 +0300
commit1132e82a61104930070904c1baedca364f943909 (patch)
tree9e0708041d405fcc8d180f2e96d85cf1bfa69a11 /llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
parent191dbcaf4d49a7cd25c8f9b80bd1b8c427673e0b (diff)
downloadllvm-1132e82a61104930070904c1baedca364f943909.zip
llvm-1132e82a61104930070904c1baedca364f943909.tar.gz
llvm-1132e82a61104930070904c1baedca364f943909.tar.bz2
[MIR] Support save/restore points with independent sets of registers (#119358)
This patch adds the MIR parsing and serialization support for save and restore points with subsets of callee saved registers. That is, it syntactically allows a function to contain two or more distinct sub-regions in which distinct subsets of registers are spilled/filled as callee save. This is useful if e.g. one of the CSRs isn't modified in one of the sub-regions, but is in the other(s). Support for actually using this capability in code generation is still forthcoming. This patch is the next logical step for multiple save/restore points support. All points are now stored in DenseMap from MBB to vector of CalleeSavedInfo. Shrink-Wrap points split Part 4. RFC: https://discourse.llvm.org/t/shrink-wrap-save-restore-points-splitting/83581 Part 1: https://github.com/llvm/llvm-project/pull/117862 (landed) Part 2: https://github.com/llvm/llvm-project/pull/119355 (landed) Part 3: https://github.com/llvm/llvm-project/pull/119357 (landed) Part 5: https://github.com/llvm/llvm-project/pull/119359 (likely to be further split)
Diffstat (limited to 'llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions