llvm-mirror/lib
Cong Hou ea8edf0fdf [LoopVectorizer] Refine loop vectorizer's register usage calculator by ignoring specific instructions.
(This is the second attempt to check in this patch: REQUIRES: asserts is added
to reg-usage.ll now.)

LoopVectorizationCostModel::calculateRegisterUsage() is used to estimate the
register usage for specific VFs. However, it takes into account many
instructions that won't be vectorized, such as induction variables,
GetElementPtr instruction, etc.. This makes the loop vectorizer too conservative
when choosing VF. In this patch, the induction variables that won't be
vectorized plus GetElementPtr instruction will be added to ValuesToIgnore set
so that their register usage won't be considered any more.


Differential revision: http://reviews.llvm.org/D15177

llvm-svn: 255460
2015-12-13 16:55:46 +00:00
..
Analysis Try to appease a buildbot 2015-12-12 05:53:20 +00:00
AsmParser [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
Bitcode [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
CodeGen Replace <cstdint> by llvm/Support/DataTypes.h for the typedef of uint64_t. NFC. 2015-12-13 09:52:14 +00:00
DebugInfo
ExecutionEngine
Fuzzer [LibFuzzer] Introducing FUZZER_FLAG_UNSIGNED and using it for seeding. 2015-12-10 20:41:53 +00:00
IR [IR] Reformulate LLVM's EH funclet IR 2015-12-12 05:38:55 +00:00
IRReader
LibDriver
LineEditor
Linker Fix another case where the linkage was not set. 2015-12-10 18:44:26 +00:00
LTO
MC
Object
Option
Passes
ProfileData [PGO] Stop using invalid char in instr variable names. 2015-12-12 17:28:03 +00:00
Support Revert r255444. 2015-12-13 04:14:39 +00:00
TableGen
Target Fix line endings 2015-12-13 12:49:48 +00:00
Transforms [LoopVectorizer] Refine loop vectorizer's register usage calculator by ignoring specific instructions. 2015-12-13 16:55:46 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile