Skip to content

Commit

Permalink
[Docs][llvm-exegesis] Specify supported platforms and architectures
Browse files Browse the repository at this point in the history
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.

Reviewed By: kpdev42

Differential Revision: https://reviews.llvm.org/D149378
  • Loading branch information
boomanaiden154 committed May 13, 2023
1 parent 88c1242 commit 9fe45fc
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 0 deletions.
7 changes: 7 additions & 0 deletions llvm/docs/CommandGuide/llvm-exegesis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ scheduling models. To that end, we also provide analysis of the results.
: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 (PowerPC64LE only) on Linux. Not all functionality is
guaranteed to work on every platform.

SNIPPET ANNOTATIONS
-------------------

Expand Down
29 changes: 29 additions & 0 deletions llvm/tools/llvm-exegesis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 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.

##### 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 (PowerPC64LE only)

Note that not all functionality is guaranteed to work on all architectures.

0 comments on commit 9fe45fc

Please sign in to comment.