[all-commits] [llvm/llvm-project] 3bcbae: [lldb] Introduce DynamicRegisterInfo::RegisterSetW...

Alex Langford via All-commits all-commits at lists.llvm.org
Fri Sep 25 10:20:10 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 3bcbae4bed67f5cadd9f68d39af47ae5b5af1794
      https://github.com/llvm/llvm-project/commit/3bcbae4bed67f5cadd9f68d39af47ae5b5af1794
  Author: Alex Langford <alangford at apple.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/source/Target/DynamicRegisterInfo.cpp

  Log Message:
  -----------
  [lldb] Introduce DynamicRegisterInfo::RegisterSetWithStorage (#225555)

The RegisterSet struct is created in 2 different ways:
1.) Statically in headers/source files for register sets that are known
    ahead of time.
2.) Dynamically according to input from outside of LLDB. Usually this is
through the gdb-remote stub, but may also come from a python script or
    by determining an ISA variant's features (e.g. in RISCV).

This PR aims to address the lifetime of strings in RegisterSet. In
scenario (1), the lifetime of all data in a RegisterSet is static and
there is no concern about dangling pointers. However, in scenario (2),
DynamicRegisterInfo maintains a vector of RegisterSets. Until now, it
has relied on ConstString to persist the storage for the strings
indefinitely. As part of my quest to remove ConstString, I am
introducing a new struct wrapping RegisterSet that is responsible for
the storage and lifetime of the underlying RegisterSet strings.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list