[llvm] [llvm-exegesis] [AArch64] Add support for Load Instructions in subprocess execution mode (PR #144895)
Lakshay Kumar via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 7 05:37:35 PDT 2025
lakshayk-nv wrote:
Yes, ioctl syscall is failing due to file descriptor not present at expected auxiliary memory address.
```cpp
// llvm/tools/llvm-exegesis/lib/Assembler.cpp:105
// └─llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp:482
ioctl(
fd = [getAuxiliaryMemoryStartAddress()] = [VAddressSpaceCeiling - 2 * pagesize],
Request = PERF_EVENT_IOC_RESET,
arg = PERF_IOC_FLAG_GROUP
)
```
Similarly, `generateMmapAuxMem()`, `generateMmap()` are also not getting fd at memory address.
`generateMmapAuxMem` expects `fd` at `getAuxiliaryMemoryStartAddress()` and `generateMmap()`
```cpp
// llvm/tools/llvm-exegesis/lib/Assembler.cpp:
const MemoryValue &MemVal = Key.MemoryValues.at(MM.MemoryValueName);
BBF.addInstructions(ET.generateMmap(
MM.Address, MemVal.SizeBytes,
ET.getAuxiliaryMemoryStartAddress() +
sizeof(int) *
(MemVal.Index + SubprocessMemory::AuxiliaryMemoryOffset)));
```
https://github.com/llvm/llvm-project/pull/144895
More information about the llvm-commits
mailing list