aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopUtils.cpp
diff options
context:
space:
mode:
authorAlexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>2024-09-04 17:31:59 +0300
committerGitHub <noreply@github.com>2024-09-04 15:31:59 +0100
commit660e34fd38c3fb39fba1871bbf5b2eb3a48bf277 (patch)
tree4e0e012670fbaa8cdc2d5b8f1af231dbb02e5b1a /llvm/lib/Transforms/Utils/LoopUtils.cpp
parentf7fa75b20835254c35baeff908b8c3827c13db41 (diff)
downloadllvm-660e34fd38c3fb39fba1871bbf5b2eb3a48bf277.zip
llvm-660e34fd38c3fb39fba1871bbf5b2eb3a48bf277.tar.gz
llvm-660e34fd38c3fb39fba1871bbf5b2eb3a48bf277.tar.bz2
[lldb][RISCV] Support optionally disabled FPR for riscv64 (#104547)
The PR adds the support optionally enabled/disabled FP-registers to LLDB `RegisterInfoPOSIX_riscv64`. This situation might take place for RISC-V builds having no FP-registers, like RV64IMAC or RV64IMACV. To aim this, patch adds `opt_regsets` flags mechanism. It re-works RegisterInfo class to work with flexibly allocated (depending on `opt_regsets` flag) `m_register_sets` and `m_register_infos` vectors instead of statically defined structures. The registration of regsets is being arranged by `m_per_regset_regnum_range` map. The patch flows are spread to `NativeRegisterContextLinux_riscv64` and `RegisterContextCorePOSIX_riscv64` classes, that were tested on: - x86_64 host working with coredumps - RV64GC and RV64IMAC targets working with coredumps and natively in run-time with binaries `EmulateInstructionRISCV` is out of scope of this patch, and its behavior did not change, using maximum set of registers. According testcase built for RV64IMAC (no-FPR) was added to `TestLinuxCore.py`.
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUtils.cpp')
0 files changed, 0 insertions, 0 deletions