[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