llvm-project/llvm
Matt Arsenault b34635550a AMDGPU: Return correct type during argument lowering
The type needs to be casted back to the original argument type.
Fixes an assert that for some reason is only run when
using -debug.

Includes an additional combine to avoid test regressions
from having conversions mixed with multiple Assert[SZ]ext
nodes. On subtargets where i16 is legal, this was producing an i32
register with an i16 AssertZExt, truncated to i16 with another i8
AssertZExt.

t2: i32,ch = CopyFromReg t0, Register:i32 %vreg0
t3: i16 = truncate t2
t5: i16 = AssertZext t3, ValueType:ch:i8
t6: i8 = truncate t5
t7: i32 = zero_extend t6
llvm-svn: 308082
2017-07-15 05:52:59 +00:00
..
bindings [NFC] Remove multiple semicolons 2017-06-28 23:15:16 +00:00
cmake [Solaris] Detect Solaris LD, use detection results to pass Solaris-ld options 2017-07-12 21:43:14 +00:00
docs [lit] add a -vv option to echo all executed commands. 2017-07-13 19:26:27 +00:00
examples fix typos in comments and error messges; NFC 2017-07-13 06:48:39 +00:00
include [TTI] Refine the cost of EXT in getUserCost() 2017-07-15 02:12:16 +00:00
lib AMDGPU: Return correct type during argument lowering 2017-07-15 05:52:59 +00:00
projects
resources
runtimes [CMake]Use LLVM_LIBRARY_DIR for lib path. 2017-07-14 00:35:21 +00:00
test AMDGPU: Return correct type during argument lowering 2017-07-15 05:52:59 +00:00
tools [llvm-readobj] - Teach readobj to print DT_FILTER dynamic tag in human readable form. 2017-07-14 16:00:16 +00:00
unittests [Dominators] Fix reachable visitation and reenable a unit test 2017-07-15 01:27:16 +00:00
utils [TableGen][MC] Fix a few places where we didn't hide the underlying type of LaneBitmask very well. 2017-07-14 18:30:09 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt CMake: Add LLVM_UTILS_INSTALL_DIR option 2017-07-05 12:57:30 +00:00
CODE_OWNERS.TXT Remove the BBVectorize pass. 2017-06-30 07:09:08 +00:00
CREDITS.TXT Another test commit 2017-07-01 03:24:06 +00:00
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT [RelTest] Diana is doing both releases now 2017-07-14 08:33:52 +00:00
configure
llvm.spec.in

README.txt

Low Level Virtual Machine (LLVM)
================================

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.