summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-emit.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-10-13 20:31:30 -0700
committerGitHub <noreply@github.com>2022-10-13 20:31:30 -0700
commit09408e32d7c0ccebf38fe31b5d2ddf4b1cd128e4 (patch)
tree65e0f711de39f2d095aed8f15798668975375e08 /source/slang/slang-emit.cpp
parent27d7961db15ed5890d2ad0eff1218e26dcdaf82c (diff)
Allow multi-level breaks to break out of `switch` statements. (#2451)
* Allow multi-level breaks to break out of `switch` statements. * Rename loop->region. * Add `[ForceInline]` attribute. Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-emit.cpp')
-rw-r--r--source/slang/slang-emit.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 6d85e1ce0..4666e80d8 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -386,10 +386,8 @@ Result linkAndOptimizeIR(
#endif
validateIRModuleIfEnabled(codeGenContext, 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);
+ // Inline calls to any functions marked with [__unsafeInlineEarly] or [ForceInline].
+ performForceInlining(irModule);
// Specialization can introduce dead code that could trip
// up downstream passes like type legalization, so we