1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
Go to file
Craig Topper b271af80f3 [ValueTracking] Teach canCreateUndefOrPoison that ctpop does not create undef or poison.
This select of ctpop with 0 pattern can get left behind after
loop idiom recognize converts a loop to ctpop. LLVM 10 was able
to optimize this, but LLVM 11 and later is not. The difference
seems to be that some select transforms are now limited based
on canCreateUndefOrPoison.

Teaching canCreateUndefOrPoison about ctpop restores the
LLVM 10 codegen.

Differential Revision: https://reviews.llvm.org/D99207
2021-03-23 12:42:18 -07:00
benchmarks
bindings [OCaml] Add (get/set)_module_identifer functions 2021-03-20 20:41:51 +05:30
cmake [CMAKE] Fix cross-compilation build 2021-03-23 13:24:08 +03:00
docs [NFC][AMDGPU] Reserve AMD GPU ELF machine number 0x41 2021-03-23 17:53:02 +00:00
examples [ORC] Fix some comments in the LLJITWithObjectLinkingLayerPlugin example. 2021-03-12 19:13:42 -08:00
include [NFC][AMDGPU] Reserve AMD GPU ELF machine number 0x41 2021-03-23 17:53:02 +00:00
lib [ValueTracking] Teach canCreateUndefOrPoison that ctpop does not create undef or poison. 2021-03-23 12:42:18 -07:00
projects llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
resources
runtimes [runtimes] Add the libc project to the list of runtimes. 2021-03-23 17:33:03 +00:00
test [ValueTracking] Teach canCreateUndefOrPoison that ctpop does not create undef or poison. 2021-03-23 12:42:18 -07:00
tools [dsymutil] Only look for ThinLTO suffixes if we failed to find symbol. 2021-03-23 10:55:48 -07:00
unittests Introduce a generic operator to apply complex operations to BitVector 2021-03-23 14:23:26 +01:00
utils [gn build] (manually) port d709dcc09097 2021-03-23 10:13:14 -04:00
.clang-format
.clang-tidy - Update .clang-tidy to ignore parameters of main like functions for naming violations in clang and llvm directory 2020-01-31 16:49:45 +00:00
.gitattributes
.gitignore [clangd] Store index in '.cache/clangd/index' instead of '.clangd/index' 2020-07-07 14:53:45 +02:00
CMakeLists.txt [CMAKE] Fix cross-compilation build 2021-03-23 13:24:08 +03:00
CODE_OWNERS.TXT [M68k][CODE_OWNERS](0/8) Add code owner for the M68k target 2021-03-08 12:30:56 -08:00
configure
CREDITS.TXT [NFC] Add contributors names to CREDITS.TXT 2020-10-07 13:22:55 -04:00
LICENSE.TXT
llvm.spec.in
README.txt Test commit. 2020-03-14 18:08:26 -07:00
RELEASE_TESTERS.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.