summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-util.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2023-09-21 14:00:48 -0700
committerGitHub <noreply@github.com>2023-09-21 14:00:48 -0700
commit5b2eb06816521cc0fcfe03258452560bd200002d (patch)
treedc06cc626ff0059dded3f4245f9309b3071ae94c /source/slang/slang-ir-util.cpp
parentaf8ce68e9fd7b6255b6e4e9e9524a285497116dc (diff)
Various slangpy fixes. (#3227)
* Make dynamic cast transparent through `IRAttributedType`. * Add [CUDAXxx] variant of attributes. * Support marshaling of vector types. * Wrap cuda kernels in `extern "C"` block. --------- Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-util.cpp')
-rw-r--r--source/slang/slang-ir-util.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/slang/slang-ir-util.cpp b/source/slang/slang-ir-util.cpp
index 5ead1a1f4..4a92d263e 100644
--- a/source/slang/slang-ir-util.cpp
+++ b/source/slang/slang-ir-util.cpp
@@ -617,7 +617,7 @@ void removeLinkageDecorations(IRGlobalValueWithCode* func)
void setInsertBeforeOrdinaryInst(IRBuilder* builder, IRInst* inst)
{
- if (as<IRParam>(inst))
+ if (as<IRParam, IRDynamicCastBehavior::NoUnwrap>(inst))
{
SLANG_RELEASE_ASSERT(as<IRBlock>(inst->getParent()));
auto lastParam = as<IRBlock>(inst->getParent())->getLastParam();
@@ -631,7 +631,7 @@ void setInsertBeforeOrdinaryInst(IRBuilder* builder, IRInst* inst)
void setInsertAfterOrdinaryInst(IRBuilder* builder, IRInst* inst)
{
- if (as<IRParam>(inst))
+ if (as<IRParam, IRDynamicCastBehavior::NoUnwrap>(inst))
{
SLANG_RELEASE_ASSERT(as<IRBlock>(inst->getParent()));
auto lastParam = as<IRBlock>(inst->getParent())->getLastParam();
@@ -818,7 +818,7 @@ void moveParams(IRBlock* dest, IRBlock* src)
for (auto param = src->getFirstChild(); param;)
{
auto nextInst = param->getNextInst();
- if (as<IRDecoration>(param) || as<IRParam>(param))
+ if (as<IRDecoration>(param) || as<IRParam, IRDynamicCastBehavior::NoUnwrap>(param))
{
param->insertAtEnd(dest);
}