llvm-project/llvm
Sanjay Patel 678b9c5dde [InstCombine] try difference-of-shifts factorization before negator
We need to preserve wrapping flags to allow better folds.
The cases with geps may be non-intuitive, but that appears to agree with Alive2:
https://alive2.llvm.org/ce/z/JQcqw7
We create 'nsw' ops independent from the original wrapping on the sub.
2020-11-24 13:56:30 -05: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 [HardwareLoops] Change order of SCEV expression construction for InitLoopCount. 2020-11-24 18:01:42 +00:00
lib [InstCombine] try difference-of-shifts factorization before negator 2020-11-24 13:56:30 -05:00
projects llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
resources
runtimes
test [InstCombine] try difference-of-shifts factorization before negator 2020-11-24 13:56:30 -05:00
tools [llvm-readelf/obj] - Refine the implementation of `printGNUVersionSectionProlog` 2020-11-24 11:56:22 +03:00
unittests [NFC][AIX][XCOFF] change function name from getNumofGPRsSaved to getNumOfGPRsSaved 2020-11-24 10:23:57 -05:00
utils lld: Fix darwinnew symlink name added in e16c0a9a68 2020-11-24 11:06:51 -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.