diff options
| author | Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> | 2024-08-27 21:10:11 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-27 18:10:11 -0700 |
| commit | a9882c648c58e6f2821df11c7ee6ac77d9f09473 (patch) | |
| tree | db855acb80b569dfe0b4df56a249dc0c35614fca /source/slang/slang-ir-inline.cpp | |
| parent | 4aac22da6ae902eca1e7750f4e5b83ba238b5874 (diff) | |
Avoid inlining functions with inline ASM blocks. (#4925)
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; } } } |
