llvm-project/llvm
Craig Topper c26e8697d7 [RISCV] Custom type legalize i32 fshl/fshr on RV64 with Zbt.
This adds custom opcodes for FSLW/FSRW so we can type legalize
fshl/fshr without needing to match a sign_extend_inreg.

I've used the operand order from fshl/fshr to make the isel
pattern similar to the non-W form. It was also hard to decide
another order since the register instruction has the shift amount
as the second operand, but the immediate instruction has it as
the third operand.

Differential Revision: https://reviews.llvm.org/D91479
2020-11-25 10:01:47 -08:00
..
benchmarks
bindings Revert "[IR] add fn attr for no_stack_protector; prevent inlining on mismatch" 2020-11-17 17:27:14 -08:00
cmake [clangd] Fix shared-lib builds 2020-11-24 13:05:20 +01:00
docs Revert "[llvm-symbolizer] Switch to using native symbolizer by default on Windows" 2020-11-23 16:29:45 -08:00
examples llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
include [SVE] Fix TypeSize warning in RuntimePointerChecking::insert 2020-11-25 16:59:03 +00:00
lib [RISCV] Custom type legalize i32 fshl/fshr on RV64 with Zbt. 2020-11-25 10:01:47 -08:00
projects llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
resources
runtimes
test [RISCV] Custom type legalize i32 fshl/fshr on RV64 with Zbt. 2020-11-25 10:01:47 -08:00
tools [WebAssembly] Factor out WasmTableType in binary format 2020-11-25 08:00:08 -08:00
unittests [ARM][AArch64] Adding Neoverse N2 CPU support 2020-11-25 11:42:54 +00:00
utils [gn build] Download prebuilt mac-arm64 binary now that it exists 2020-11-25 12:08:48 -05:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
CODE_OWNERS.TXT [CODE_OWNERS.TXT] Update to include yours truly as the TableGen owner 2020-11-12 09:49:00 -05:00
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.