From a9882c648c58e6f2821df11c7ee6ac77d9f09473 Mon Sep 17 00:00:00 2001 From: Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> Date: Tue, 27 Aug 2024 21:10:11 -0400 Subject: Avoid inlining functions with inline ASM blocks. (#4925) --- source/slang/slang-ir-inline.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/slang/slang-ir-inline.cpp') 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; } } } -- cgit v1.2.3