Fix a misfiring assert due to unused static const involving matrix type (#3582)

This commit is contained in:
Vishal Sharma 2021-03-15 11:01:55 -07:00 коммит произвёл GitHub
Родитель de09119850
Коммит 6ad56561e2
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 18 добавлений и 2 удалений

Просмотреть файл

@ -531,8 +531,8 @@ void HLMatrixLowerPass::replaceAllVariableUses(
}
if (ConstantExpr *CE = dyn_cast<ConstantExpr>(Use.getUser())) {
DXASSERT(CE->getOpcode() == Instruction::AddrSpaceCast,
"Unexpected constant user");
DXASSERT(CE->getOpcode() == Instruction::AddrSpaceCast ||
CE->use_empty(), "Unexpected constant user");
replaceAllVariableUses(GEPIdxStack, CE, LoweredPtr);
DXASSERT_NOMSG(CE->use_empty());
CE->destroyConstant();

Просмотреть файл

@ -0,0 +1,16 @@
// RUN: %dxc -E main -T vs_6_0 %s | FileCheck %s
// Regression test for github issue #3579
// CHECK: define void @main
cbuffer C
{
float1x1 foo[1];
}
static const float1x1 bar[1] = foo;
void main() {}