DavidSpickett wrote: I agree with the ultimate goal of being able to control the handling of non-address bits, but help me understand this part: > However, the CFA inside StackIDs is also used in other contexts through the > method StackID::GetCallFrameAddress. One notable case is DWARFExpression: the > computation of DW_OP_call_frame_address is done using StackID. This feeds > into many other places, e.g. expression evaluation (which may require a > signed pointer). As such, StackID must be able to provide both versions of > the CFA.
Is this because this pointer may be used to work out the address of variables and if we had for example, a memory tagged stack variable, its address must preserve that tag so we can access it. That sort of thing? https://github.com/llvm/llvm-project/pull/157498 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits