diff options
| author | Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com> | 2024-06-13 17:30:16 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-13 17:30:16 -0400 |
| commit | fba316f0e7dacc7f93bee3a95fb93b2ab02bdd80 (patch) | |
| tree | 4687141e1581193de2d6990122c3190d3c2fcc9f /source/slang/slang-emit.cpp | |
| parent | f0d40ad5e1d0a0dec39fe8a141d3f81d88fc576a (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.cpp | 28 |
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, |
