diff options
Diffstat (limited to 'source/slang/slang-ir.cpp')
| -rw-r--r-- | source/slang/slang-ir.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 9c4cb98c0..c44196bc5 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -1821,7 +1821,7 @@ IRInst* IRBuilder::_createInst( m_dedupContext->getInstReplacementMap().tryGetValue(type, instReplacement); type = (IRType*)instReplacement; - if (getIROpInfo(op).flags & kIROpFlag_Hoistable) + if (isInstHoistable(op, type)) { return _findOrEmitHoistableInst( type, @@ -2527,7 +2527,8 @@ static void addGlobalValue(IRBuilder* builder, IRInst* value) // if (value->parent) { - SLANG_ASSERT(getIROpInfo(value->getOp()).isHoistable()); + SLANG_ASSERT( + getIROpInfo(value->getOp()).isHoistable() || isSpecConstRateType(value->getFullType())); return; } |
