From 9fe45fcba7ea785844d9a3c10f3b0a2269afab93 Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Sat, 13 May 2023 09:05:22 +0000 Subject: [PATCH] [Docs][llvm-exegesis] Specify supported platforms and architectures 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 --- llvm/docs/CommandGuide/llvm-exegesis.rst | 7 +++++++ llvm/tools/llvm-exegesis/README.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 llvm/tools/llvm-exegesis/README.md diff --git a/llvm/docs/CommandGuide/llvm-exegesis.rst b/llvm/docs/CommandGuide/llvm-exegesis.rst index bede7d2..f6f2e271 100644 --- a/llvm/docs/CommandGuide/llvm-exegesis.rst +++ b/llvm/docs/CommandGuide/llvm-exegesis.rst @@ -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 ------------------- diff --git a/llvm/tools/llvm-exegesis/README.md b/llvm/tools/llvm-exegesis/README.md new file mode 100644 index 0000000..c478b56 --- /dev/null +++ b/llvm/tools/llvm-exegesis/README.md @@ -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. -- 2.7.4