aprantl added inline comments.
================
Comment at:
lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp:2026-2037
+ if (reg == gpr_pc)
+ value->value.uint64 = clear_pac_bits(
+ reinterpret_cast<uint64_t>(m_state.context.gpr.__opaque_pc));
+ else if (reg == gpr_lr)
+ value->value.uint64 = clear_pac_bits(
+ reinterpret_cast<uint64_t>(m_state.context.gpr.__opaque_lr));
+ else if (reg == gpr_sp)
----------------
jasonmolenda wrote:
> JDevlieghere wrote:
> > `reg` is a uint32_t so you could use a switch here:
> >
> > ```
> > switch(reg) {
> > case gpr_pc:
> > ...
> > }
> > ```
> I thought about that, but then I'd need a `break;` after each element and it
> was one extra line. I don't have a real preference, and this was shorter.
If we are already micro-optimizing, I guess the resulting code would be shorter
(and 100% UB-free) if it were
```
uint64_t val = 0;
switch(reg) {
case gpr_pc:
memcpy(&val, m_state.context.gpr.__opaque_pc);
break;
...
}
value->value.uint64 = clear_pac_bits(val);
```
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D140067/new/
https://reviews.llvm.org/D140067
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits