llvm-project/llvm
Kevin P. Neal ac79007205 Revert revert of r362112 with minor SystemZ test file corrections.
[FPEnv] Added a special UnrollVectorOp method to deal with the chain on StrictFP opcodes

This change creates UnrollVectorOp_StrictFP. The purpose of this is to address a failure that consistently occurs when calling StrictFP functions on vectors whose number of elements is 3 + 2n on most platforms, such as PowerPC or SystemZ. The old UnrollVectorOp method does not expect that the vector that it will unroll will have a chain, so it has an assert that prevents it from running if this is the case. This new StrictFP version of the method deals with the chain while unrolling the vector. With this new function in place during vector widending, llc can run vector-constrained-fp-intrinsics.ll for SystemZ successfully.

Submitted by:	Drew Wock <drew.wock@sas.com>
Reviewed by:	Cameron McInally, Kevin P. Neal
Approved by:	Cameron McInally
Differential Revision:	https://reviews.llvm.org/D62546

llvm-svn: 362241
2019-05-31 16:32:12 +00:00
..
benchmarks
bindings Fix bad go bindings test. 2019-05-31 03:45:11 +00:00
cmake [CMake] Provide an option to use relative paths in debug info 2019-05-31 01:34:51 +00:00
docs Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
examples Add a HowToUseLLJIT example project. 2019-05-22 21:38:41 +00:00
include [PPC] Correctly adjust branch probability in PPCReduceCRLogicals 2019-05-31 16:11:17 +00:00
lib Revert revert of r362112 with minor SystemZ test file corrections. 2019-05-31 16:32:12 +00:00
projects
resources
runtimes [CMake] Provide an option to use relative paths in debug info 2019-05-31 01:34:51 +00:00
test Revert revert of r362112 with minor SystemZ test file corrections. 2019-05-31 16:32:12 +00:00
tools Fix -DBUILD_SHARED_LIBS=ON build after rL362160 2019-05-31 01:04:00 +00:00
unittests Reapply: IR: add optional type to 'byval' function parameters 2019-05-30 18:48:23 +00:00
utils [UpdateTestChecks] Add support for -march=r600 to match existing -march=amdgcn support 2019-05-31 15:05:06 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Revert r361826, as it still breaks LLDB. 2019-05-28 15:04:39 +00:00
CODE_OWNERS.TXT
CREDITS.TXT [test commit] Add my name to the CREDITS.TXT 2019-05-27 07:48:28 +00:00
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.