VECTORIZER_NONE,
VECTORIZER_STRIPMINE,
VECTORIZER_POLLY,
- VECTORIZER_UNROLL_ONLY
};
extern VectorizerChoice PollyVectorizerChoice;
void VectorBlockGenerator::generateLoad(ScopStmt &Stmt, const LoadInst *Load,
ValueMapT &VectorMap,
VectorValueMapT &ScalarMaps) {
- if (PollyVectorizerChoice == VECTORIZER_UNROLL_ONLY ||
- !VectorType::isValidElementType(Load->getType())) {
+ if (!VectorType::isValidElementType(Load->getType())) {
for (int i = 0; i < getVectorWidth(); i++)
ScalarMaps[i][Load] =
generateScalarLoad(Stmt, Load, ScalarMaps[i], GlobalMaps[i], VLTS[i]);
"Polly internal vectorizer"),
clEnumValN(polly::VECTORIZER_STRIPMINE, "stripmine",
"Strip-mine outer loops for the loop-vectorizer to trigger"),
- clEnumValN(polly::VECTORIZER_UNROLL_ONLY, "unroll-only",
- "Only grouped unroll the vectorize candidate loops"),
clEnumValEnd),
cl::location(PollyVectorizerChoice), cl::init(polly::VECTORIZER_NONE),
cl::ZeroOrMore, cl::cat(PollyCategory));
; RUN: opt %loadPolly -polly-detect-unprofitable -polly-codegen-isl -polly-vectorizer=polly < %s
-; RUN: opt %loadPolly -polly-detect-unprofitable -polly-codegen-isl -polly-vectorizer=unroll-only < %s
; This test case checks that the polly vectorizer does not crash when
; calculating the number of iterations.