[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