forked from OSchip/llvm-project
Remove scalable vector assert from InnerLoopVectorizer::setDebugLocFromInst
In InnerLoopVectorizer::setDebugLocFromInst we were previously asserting that the VF is not scalable. This is because we want to use the number of elements to create a duplication factor for the debug profiling data. However, for scalable vectors we only know the minimum number of elements. I've simply removed the assert for now and added a FIXME saying that we assume vscale is always 1. When vscale is not 1 it just means that the profiling data isn't as accurate, but shouldn't cause any functional problems.
This commit is contained in:
parent
d59a2a32b9
commit
7e95a563c8
|
@ -1052,7 +1052,7 @@ void InnerLoopVectorizer::setDebugLocFromInst(IRBuilder<> &B, const Value *Ptr)
|
||||||
// factors to the discriminators.
|
// factors to the discriminators.
|
||||||
if (DIL && Inst->getFunction()->isDebugInfoForProfiling() &&
|
if (DIL && Inst->getFunction()->isDebugInfoForProfiling() &&
|
||||||
!isa<DbgInfoIntrinsic>(Inst) && !EnableFSDiscriminator) {
|
!isa<DbgInfoIntrinsic>(Inst) && !EnableFSDiscriminator) {
|
||||||
assert(!VF.isScalable() && "scalable vectors not yet supported.");
|
// FIXME: For scalable vectors, assume vscale=1.
|
||||||
auto NewDIL =
|
auto NewDIL =
|
||||||
DIL->cloneByMultiplyingDuplicationFactor(UF * VF.getKnownMinValue());
|
DIL->cloneByMultiplyingDuplicationFactor(UF * VF.getKnownMinValue());
|
||||||
if (NewDIL)
|
if (NewDIL)
|
||||||
|
|
Loading…
Reference in New Issue