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

Aiden Grossman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 27 13:27:46 PDT 2023


aidengrossman created this revision.
Herald added a subscriber: mstojanovic.
Herald added a project: All.
aidengrossman requested review of this revision.
Herald added subscribers: llvm-commits, courbet.
Herald added a project: LLVM.

Currently, there is no documentation on what platforms and architectures
llvm-exegesis is supported on. This patch adds in user-facing
documentation in the CommandGuide about what architectures are supported
as well as developer facing documentation detailing the technical
reasons for why certain platforms are supported and some aren't.

This is a follow-up after discussion in
https://discourse.llvm.org/t/clarification-on-platform-support-for-llvm-exegesis/70206.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D149378

Files:
  llvm/docs/CommandGuide/llvm-exegesis.rst
  llvm/tools/llvm-exegesis/README.md


Index: llvm/tools/llvm-exegesis/README.md
===================================================================
--- /dev/null
+++ llvm/tools/llvm-exegesis/README.md
@@ -0,0 +1,32 @@
+# llvm-exegesis
+
+`llvm-exegesis` is a benchmarking tool that accepts or assembles a snippet and
+can measure characteristics of that snippet by executing it while keeping track
+of performance counters.
+
+### Currently Supported Platforms
+
+`llvm-exegesis` is quite platform-dependent and currently only supports a couple
+platform configurations.
+
+##### Currently Supported Operating Systems
+
+Currently, `llvm-exegesis` only supports Linux. This is mainly due to a
+dependency on the Linux perf subsystem for reading performance counters.
+In addition, `llvm-exegesis` currently only implements the System V
+calling convention internally (used to pass data from the executing process
+to the snippet), further limiting platform independence.
+
+##### Currently Supported Architectures
+
+Currently, `llvm-exegesis` supports the following architectures:
+
+* x86
+  * 64-bit only due to this being the only implemented calling convention
+    in `llvm-exegesis` currently.
+* ARM
+  * AArch64 only
+* MIPS
+* PowerPC
+
+Note that not all functionality is guaranteed to work on all architectures.
Index: llvm/docs/CommandGuide/llvm-exegesis.rst
===================================================================
--- llvm/docs/CommandGuide/llvm-exegesis.rst
+++ llvm/docs/CommandGuide/llvm-exegesis.rst
@@ -30,6 +30,20 @@
 :program:`llvm-exegesis` can also benchmark arbitrary user-provided code
 snippets.
 
+SUPPORTED PLATFORMS
+-------------------
+
+: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
+on every platform.
+
+SUPPORTED PLATFORMS
+-------------------
+
+: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
+on every platform.
+
 SNIPPET ANNOTATIONS
 -------------------
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D149378.517690.patch
Type: text/x-patch
Size: 2096 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230427/47e91534/attachment.bin>


More information about the llvm-commits mailing list