llvm-project/llvm
Alex Bradbury 4f40ca53ce [RISCV] Implement support for the Zicbom and Zicboz extensions
Implements the ratified RISC-V Base Cache Management Operation ISA
Extensions: Zicbom and Zicboz, as described in
https://github.com/riscv/riscv-CMOs/blob/master/specifications/cmobase-v1.0.pdf.

Zicbop is implemented in a separate patch due to it requiring a new ASM
operand type to be defined.

As discussed in the relevant issue in the upstream spec
https://github.com/riscv/riscv-CMOs/issues/47, the cbo.* instructions
use the format (rs1) or 0(rs1) for their operand, similar to the AMOs.

Differential Revision: https://reviews.llvm.org/D117432
2022-06-28 12:43:25 +01:00
..
benchmarks
bindings [IR] Remove support for extractvalue constant expression 2022-06-28 10:40:17 +02:00
cmake [CMake] Don't pass CMAKE_C(XX)_COMPILER to the nested NATIVE build when cross compiling 2022-06-22 09:33:50 +03:00
docs [IR] Remove support for extractvalue constant expression 2022-06-28 10:40:17 +02:00
examples Add missing (void) for function declarations in C 2022-06-28 00:45:17 +00:00
include [AArch64][SME] Add SVE2 psel, uclamp, sclamp and revd IR intrinsics 2022-06-28 10:25:06 +01:00
lib [RISCV] Implement support for the Zicbom and Zicboz extensions 2022-06-28 12:43:25 +01:00
projects
resources
runtimes
test [RISCV] Implement support for the Zicbom and Zicboz extensions 2022-06-28 12:43:25 +01:00
tools [CSSPGO][llvm-profgen] Reimplement SampleContextTracker using context trie 2022-06-27 23:22:21 -07:00
unittests [Alignment] Replace commonAlignment with std::min 2022-06-28 07:15:02 +00:00
utils [gn build] Port 03975b7f0e 2022-06-28 09:52:16 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [Clang][C++23] P2071 Named universal character escapes 2022-06-25 19:03:33 +02:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.