Fix PR16571, which is a bug in the code that checks that all of the types in the bundle are uniform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185970 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nadav Rotem
2013-07-09 21:38:08 +00:00
parent 3517640443
commit 30bbf070a2
2 changed files with 25 additions and 1 deletions
+3 -1
View File
@@ -172,7 +172,7 @@ static unsigned getSameOpcode(ArrayRef<Value *> VL) {
static Type* getSameType(ArrayRef<Value *> VL) {
Type *Ty = VL[0]->getType();
for (int i = 1, e = VL.size(); i < e; i++)
if (VL[0]->getType() != Ty)
if (VL[i]->getType() != Ty)
return 0;
return Ty;
@@ -389,6 +389,8 @@ private:
void BoUpSLP::buildTree(ArrayRef<Value *> Roots) {
deleteTree();
if (!getSameType(Roots))
return;
buildTree_rec(Roots, 0);
}