summaryrefslogtreecommitdiff
path: root/lib/Transforms/Vectorize/BBVectorize.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2012-11-12 19:41:38 +0000
committerHal Finkel <hfinkel@anl.gov>2012-11-12 19:41:38 +0000
commit5094257518ea7b615d87ef5bea657625ffa81991 (patch)
treedac2a646473ae7f67ee11bb74a85c4d3f0490bb3 /lib/Transforms/Vectorize/BBVectorize.cpp
parent9b5caaa9c452f262a52dd5ac7ebbc722da5a63de (diff)
downloadllvm-5094257518ea7b615d87ef5bea657625ffa81991.tar.gz
llvm-5094257518ea7b615d87ef5bea657625ffa81991.tar.bz2
llvm-5094257518ea7b615d87ef5bea657625ffa81991.tar.xz
BBVectorize: Check the types of compare instructions
The pass would previously assert when trying to compute the cost of compare instructions with illegal vector types (like struct pointers). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167743 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Vectorize/BBVectorize.cpp')
-rw-r--r--lib/Transforms/Vectorize/BBVectorize.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Transforms/Vectorize/BBVectorize.cpp b/lib/Transforms/Vectorize/BBVectorize.cpp
index 93cd27e02d..407cd7b02d 100644
--- a/lib/Transforms/Vectorize/BBVectorize.cpp
+++ b/lib/Transforms/Vectorize/BBVectorize.cpp
@@ -485,6 +485,8 @@ namespace {
T2 = SI->getCondition()->getType();
} else if (ShuffleVectorInst *SI = dyn_cast<ShuffleVectorInst>(I)) {
T2 = SI->getOperand(0)->getType();
+ } else if (CmpInst *CI = dyn_cast<CmpInst>(I)) {
+ T2 = CI->getOperand(0)->getType();
}
}