[llvm] [llvm-exegesis] [AArch64] Resolving "snippet crashed while running: Segmentation fault" for Load Instructions (PR #142552)
Lakshay Kumar via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 10 02:42:07 PDT 2025
lakshayk-nv wrote:
> Probably something that should be understood before landing the patch, but doesn't hurt to try.
>>
I had checked and not found any regression on x86(`-mcpu=znver4`) and aarch64 (`-mcpu=neoverse-v2`) machines. Just wanted to precautious for introducing arch independent changes.
AArch64 doesn't have any instructions `OPERAND_MEMORY`, Its instructions only have `MCID::MayLoad` or `MCID::MayStore` flag associated with load and store instructions. Thus, I want to introduce change in IsMemory which trickle down apply check for `fillMemoryOperands`
> No. The scratch memory register is defined by the calling convention
>>
Sure, Will update implementation to get `X0``getScratchMemoryRegister` for AArch64.
Moreover, we can put in some effort to resolve illegal instruction when using `fillMemoryOperands`.
Previously, we left this approach as we were unsure of this approach thus moved to subprocess pathway.
This was due to the question
Q. "How is exegesis setting up the register to have correct memory address from which instruction can load value?" (if `fillMemoryOperands` is supposed to fill then, how?).
If you can expand on this that would be great.
https://github.com/llvm/llvm-project/pull/142552
More information about the llvm-commits
mailing list