summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-emit.cpp
diff options
context:
space:
mode:
authorSai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com>2024-06-13 17:30:16 -0400
committerGitHub <noreply@github.com>2024-06-13 17:30:16 -0400
commitfba316f0e7dacc7f93bee3a95fb93b2ab02bdd80 (patch)
tree4687141e1581193de2d6990122c3190d3c2fcc9f /source/slang/slang-emit.cpp
parentf0d40ad5e1d0a0dec39fe8a141d3f81d88fc576a (diff)
Remove `IRHLSLExportDecoration` and `IRKeepAliveDecoration` for non-CUDA/Torch targets (#4364)
* Remove `IRHLSLExportDecoration` and `IRKeepAliveDecoration` for non-CUDA/Torch targets * Update hlsl-torch-cross-compile.slang
Diffstat (limited to 'source/slang/slang-emit.cpp')
-rw-r--r--source/slang/slang-emit.cpp28
1 files changed, 24 insertions, 4 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp
index 38f066c6c..0f53f74cd 100644
--- a/source/slang/slang-emit.cpp
+++ b/source/slang/slang-emit.cpp
@@ -557,6 +557,17 @@ Result linkAndOptimizeIR(
switch (target)
{
+ case CodeGenTarget::CUDASource:
+ case CodeGenTarget::PyTorchCppBinding:
+ break;
+
+ default:
+ removeTorchAndCUDAEntryPoints(irModule);
+ break;
+ }
+
+ switch (target)
+ {
case CodeGenTarget::CPPSource:
case CodeGenTarget::HostCPPSource:
{
@@ -605,10 +616,19 @@ Result linkAndOptimizeIR(
if (!targetProgram->getOptionSet().shouldPerformMinimumOptimizations())
fuseCallsToSaturatedCooperation(irModule);
- // Generate any requested derivative wrappers
- if (requiredLoweringPassSet.derivativePyBindWrapper)
- generateDerivativeWrappers(irModule, sink);
-
+ switch (target)
+ {
+ case CodeGenTarget::CUDASource:
+ case CodeGenTarget::PyTorchCppBinding:
+ {
+ // Generate any requested derivative wrappers
+ if (requiredLoweringPassSet.derivativePyBindWrapper)
+ generateDerivativeWrappers(irModule, sink);
+ break;
+ }
+ default:
+ break;
+ }
// Next, we need to ensure that the code we emit for
// the target doesn't contain any operations that would
// be illegal on the target platform. For example,