llvm-project/llvm
Sanjay Patel b5a9361c90 [InstCombine] canonicalize zext-and-of-bool compare to narrow and
https://alive2.llvm.org/ce/z/3jYbEH

We should choose one of these forms, and the option that uses
the narrow type allows the motivating example from issue #56294
to reduce. In the best case (no 'not' needed and 'trunc' remains),
this does remove an instruction.

Note that there is what looks like a regression because there
is an existing canonicalization that turns trunc into and+icmp.
That is a long-standing transform, and I'm not sure what effect
reversing it would have.
2022-07-29 12:02:54 -04:00
..
benchmarks
bindings [IR] Remove support for float binop constant expressions 2022-07-12 09:40:49 +02:00
cmake [CMake] Enable -z defs on Solaris 2022-07-27 12:33:51 +02:00
docs Update references to mailing lists that have moved to Discourse. 2022-07-28 16:54:58 -07:00
examples
include [RISCV][doc] Improve documentation comments on atomics intrinsics 2022-07-29 15:09:12 +01:00
lib [InstCombine] canonicalize zext-and-of-bool compare to narrow and 2022-07-29 12:02:54 -04:00
projects
resources
runtimes
test [InstCombine] canonicalize zext-and-of-bool compare to narrow and 2022-07-29 12:02:54 -04:00
tools [ORC][COFF] Handle COFF import files of static archive. 2022-07-29 16:25:08 +09:00
unittests [Support] Add KnownBits::concat method 2022-07-29 11:06:39 +01:00
utils [llvm-objcopy] Support --{,de}compress-debug-sections for zstd 2022-07-28 10:45:53 -07:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Bump the trunk major version to 16 2022-07-26 21:34:45 -07: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.