diff options
Diffstat (limited to 'source/slang/slang-ir-inline.cpp')
| -rw-r--r-- | source/slang/slang-ir-inline.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/slang/slang-ir-inline.cpp b/source/slang/slang-ir-inline.cpp index 9b2b59cd9..96e0670b2 100644 --- a/source/slang/slang-ir-inline.cpp +++ b/source/slang/slang-ir-inline.cpp @@ -899,12 +899,18 @@ struct PreAutoDiffForceInliningPass : InliningPassBase { switch (inst->getOp()) { + // Avoid inlining functions that have derivative instructions. case kIROp_ForwardDifferentiate: case kIROp_BackwardDifferentiate: case kIROp_BackwardDifferentiatePrimal: case kIROp_BackwardDifferentiatePropagate: canInline = false; goto end; + + // Also avoid inlining functions with inline-asm instructions. + case kIROp_SPIRVAsm: + canInline = false; + goto end; } } } |
