Old fork of llvm-mirror, used on older RPCS3 builds
Go to file
Matthew Simpson 8dabfb7c14 [LV] Move VectorParts allocation and mapping into PHI widening (NFC)
This patch moves the allocation of VectorParts for PHI nodes into the actual
PHI widening code. Previously, we allocated these VectorParts in
vectorizeBlockInLoop, and passed them by reference to widenPHIInstruction. Upon
returning, we would then map the VectorParts in VectorLoopValueMap. This
behavior is problematic for the cases where we only want to generate a scalar
version of a PHI node. For example, if in the future we only generate a scalar
version of an induction variable, we would end up inserting an empty vector
entry into the map once we return to vectorizeBlockInLoop. We now no longer
need to pass VectorParts to the various PHI widening functions, and we can keep
VectorParts allocation as close as possible to the point at which they are
actually mapped in VectorLoopValueMap.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280390 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-01 18:14:27 +00:00
bindings
cmake [CMake] Revive LLVM_*_DIRS variables 2016-09-01 16:43:39 +00:00
docs [CMake] Revive LLVM_*_DIRS variables 2016-09-01 16:43:39 +00:00
examples
include [codeview] Properly propagate the TypeLeafKind through the pipeline. 2016-09-01 18:08:19 +00:00
lib [LV] Move VectorParts allocation and mapping into PHI widening (NFC) 2016-09-01 18:14:27 +00:00
projects
resources
runtimes [CMake] Ensure that compiler-rt is added first 2016-08-30 21:29:21 +00:00
test [DAGCombine] Don't fold a trunc if it feeds an anyext 2016-09-01 17:59:24 +00:00
tools Add a counter-function insertion pass 2016-09-01 09:42:39 +00:00
unittests [LLVM/Support] - Create no-arguments constructor for llvm::Regex 2016-09-01 08:00:28 +00:00
utils [lit] Use multiprocessing by default on Windows 2016-09-01 17:19:44 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.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.