llvm-project/llvm
Matt Arsenault ee1a69824d GlobalISel: Combine G_UNMERGE_VALUES with G_TRUNC
G_BITCAST can be lowered with a pair of G_UNMERGE_VALUES and
G_MERGE_VALUES with different types, but G_UNMERGE_VALUES of a vector
can also be implemented with a bitcast to a scalar, which introduces
the possibility for infinite loops. Try to eliminate an illegal source
register type in the artifact combiner to avoid this from happening.

Avoids infinite looping in the legalizer in a future patch which
allows lowering G_UNMERGE_VALUES of a vector source with a G_BITCAST.
2020-05-09 16:14:32 -04:00
..
benchmarks
bindings Update go bindings for 2dea3f1298 2020-04-22 19:02:59 +02:00
cmake [AIX] Make sure we use export lists for plugins 2020-05-08 14:00:25 -04:00
docs [LangRef] Describe linkage types, allocation size of declarations for global variables 2020-05-08 16:21:30 -07:00
examples [examples] Fix an incomplete comment. 2020-05-01 11:06:41 -07:00
include GlobalISel: Combine G_UNMERGE_VALUES with G_TRUNC 2020-05-09 16:14:32 -04:00
lib InstCombine: Broaden copy-constant-to-alloca optimization 2020-05-09 16:00:27 -04:00
projects
resources
runtimes
test GlobalISel: Combine G_UNMERGE_VALUES with G_TRUNC 2020-05-09 16:14:32 -04:00
tools [COFF] Migrate COFFObjectFile to Expected<T> 2020-05-08 14:01:39 -07:00
unittests Revert "Relands "[YAMLVFSWriter][Test][NFC] Add couple tests"" 2020-05-08 21:36:29 -07:00
utils [AIX] Make sure we use export lists for plugins 2020-05-08 14:00:25 -04:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [AIX] Make sure we use export lists for plugins 2020-05-08 14:00:25 -04:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.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.