diff options
author | Sjoerd Meijer <smeijer@nvidia.com> | 2024-11-07 10:48:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-07 10:48:52 +0000 |
commit | 6720ce75f61a306a3ed26b2205f09a7099e978e7 (patch) | |
tree | 334d92692254ba96441b378b28ee93732460e908 /llvm/docs/CommandGuide | |
parent | 490e58a98e0518542c87aa16e326fcb446d7b1cc (diff) | |
download | llvm-6720ce75f61a306a3ed26b2205f09a7099e978e7.zip llvm-6720ce75f61a306a3ed26b2205f09a7099e978e7.tar.gz llvm-6720ce75f61a306a3ed26b2205f09a7099e978e7.tar.bz2 |
[Docs][llvm-exegesis] Clarify AArch64 support (#114989)
Claiming AArch64 support for llvm-exegesis is a bit of a stretch in my
opinion as only a couple of opcodes with GPR64 operands will work for
snippet benchmarking, so I propose to clarify that AArch64 support is
very experimental. Also added some clarifications about its libpfm4
dependency.
Diffstat (limited to 'llvm/docs/CommandGuide')
-rw-r--r-- | llvm/docs/CommandGuide/llvm-exegesis.rst | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/llvm/docs/CommandGuide/llvm-exegesis.rst b/llvm/docs/CommandGuide/llvm-exegesis.rst index fdf17c7..c268153 100644 --- a/llvm/docs/CommandGuide/llvm-exegesis.rst +++ b/llvm/docs/CommandGuide/llvm-exegesis.rst @@ -33,11 +33,22 @@ snippets. SUPPORTED PLATFORMS ------------------- -:program:`llvm-exegesis` currently only supports X86 (64-bit only), ARM (AArch64 -only), MIPS, and PowerPC (PowerPC64LE only) on Linux for benchmarking. Not all -benchmarking functionality is guaranteed to work on every platform. -:program:`llvm-exegesis` also has a separate analysis mode that is supported -on every platform that LLVM is. +:program:`llvm-exegesis` currently only supports X86 (64-bit only), ARM +(AArch64 only, snippet generation is sparse), MIPS, and PowerPC (PowerPC64LE +only) on Linux for benchmarking. Not all benchmarking functionality is +guaranteed to work on every platform. :program:`llvm-exegesis` also has a +separate analysis mode that is supported on every platform that LLVM is. + +To enable benchmarking in llvm-exegesis, LLVM must be configured and built with +`LLVM_ENABLE_LIBPFM` enabled, as :program:`llvm-exegesis` depends on libpfm4 +for accessing performance counters. Benchmarking may fail if the target CPU is +unsupported by libpfm. This can be verified by setting `LIBPFM_VERBOSE` and +`LIBPFM_DEBUG` environment variables to enable verbose or debug mode for +libpfm. If libpfm is installed in a non-standard directory, LLVM can be +configured to locate the necessary library and header files by setting +`LIBRARY_PATH`, `C_INCLUDE_PATH`, and `CPLUS_INCLUDE_PATH` environment +variables. Additionally, `LD_LIBRARY_PATH` should be set so that +:program:`llvm-exegesis` can locate the libpfm library during execution. SNIPPET ANNOTATIONS ------------------- |