[PATCH] D149378: [Docs][llvm-exegesis] Specify supported platforms and architectures

Pavel Kosov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 28 13:09:36 PDT 2023


kpdev42 added a comment.

As far as I know, all `powerpc(64)?(le)?-linux-gnu` triples are reported as unsupported except for `powerpc64le-...`, so PowerPC support seems to be not unconditional.

Considering calling conventions, some parts of it are probably hardcoded in snippet generators and repetitors and some are queried from LLVM subtarget info. The benchmark function accepts `char *Memory` argument that can be unused if snippet consists of only non memory related instructions. If loop repetitor is used, it may hardcode loop counter register that may interfere with unexpected calling convetions. On the other hand, prologue and epilogue are emitted by generic LLVM machinery and some ABI-specific information can be queried from it (see `getFunctionReservedRegs` from Assembler.cpp for example). Thus chances are that snippets generated for non-memory instructions with "duplicate" repetitor might be runnable even with non-SysV calling conventions.



================
Comment at: llvm/docs/CommandGuide/llvm-exegesis.rst:36
+
+:program:`llvm-exegesis` currently only supports X86 (64-bit only), ARM(AArch64
+only), MIPS, and PowerPC on Linux. Not all functionality is guaranteed to work
----------------
[nit] Missing space between "ARM" and "("


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D149378/new/

https://reviews.llvm.org/D149378



More information about the llvm-commits mailing list