Don't assert on invalid loop vectorization hint.

llvm-svn: 190450
This commit is contained in:
Eli Friedman 2013-09-10 23:45:25 +00:00
parent 3e7dca6718
commit 05906faa4d
1 changed files with 10 additions and 7 deletions

View File

@ -864,15 +864,18 @@ private:
unsigned Val = C->getZExtValue();
if (Hint == "width") {
assert(isPowerOf2_32(Val) && Val <= MaxVectorWidth &&
"Invalid width metadata");
Width = Val;
if (isPowerOf2_32(Val) && Val <= MaxVectorWidth)
Width = Val;
else
DEBUG(dbgs() << "LV: ignoring invalid width hint metadata");
} else if (Hint == "unroll") {
assert(isPowerOf2_32(Val) && Val <= MaxUnrollFactor &&
"Invalid unroll metadata");
Unroll = Val;
} else
if (isPowerOf2_32(Val) && Val <= MaxUnrollFactor)
Unroll = Val;
else
DEBUG(dbgs() << "LV: ignoring invalid unroll hint metadata");
} else {
DEBUG(dbgs() << "LV: ignoring unknown hint " << Hint);
}
}
};