================
@@ -1837,10 +1839,22 @@ EmulateInstructionRISCV::GetRegisterInfo(RegisterKind
reg_kind,
}
}
- RegisterInfoPOSIX_riscv64 reg_info(m_arch,
-
RegisterInfoPOSIX_riscv64::eRegsetMaskAll);
- const RegisterInfo *array = reg_info.GetRegisterInfo();
- const uint32_t length = reg_info.GetRegisterCount();
+ std::unique_ptr<RegisterInfoInterface> reg_info;
+ switch (m_arch.GetTriple().getArch()) {
+ case llvm::Triple::riscv32:
+ reg_info = std::make_unique<RegisterInfoPOSIX_riscv32>(
+ m_arch, RegisterInfoPOSIX_riscv32::eRegsetMaskAll);
+ break;
+ case llvm::Triple::riscv64:
+ reg_info = std::make_unique<RegisterInfoPOSIX_riscv64>(
+ m_arch, RegisterInfoPOSIX_riscv64::eRegsetMaskAll);
+ break;
+ default:
+ return {};
----------------
JDevlieghere wrote:
I'm fine with returning here, but let's add an assert so this doesn't happen
silently.
```suggestion
assert(false && "unsupported triple");
return {};
```
https://github.com/llvm/llvm-project/pull/175262
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits