diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/slang-emit.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 335e7f7d9..780fa1155 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -16,6 +16,7 @@ #include "slang-ir-explicit-global-init.h" #include "slang-ir-glsl-legalize.h" #include "slang-ir-insts.h" +#include "slang-ir-inline.h" #include "slang-ir-legalize-varying-params.h" #include "slang-ir-link.h" #include "slang-ir-lower-generics.h" @@ -349,6 +350,10 @@ Result linkAndOptimizeIR( #endif validateIRModuleIfEnabled(compileRequest, irModule); + // Inline calls to any functions marked with [__unsafeInlineEarly] again, + // since we may be missing out cases prevented by the generic constructs + // that we just lowered out. + performMandatoryEarlyInlining(irModule); // Specialization can introduce dead code that could trip // up downstream passes like type legalization, so we |
