diff options
Diffstat (limited to 'source/slang/slang-emit.cpp')
| -rw-r--r-- | source/slang/slang-emit.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 20e8c0beb..c9de26217 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -18,6 +18,7 @@ #include "slang-ir-link.h" #include "slang-ir-lower-generics.h" #include "slang-ir-lower-tuple-types.h" +#include "slang-ir-lower-bit-cast.h" #include "slang-ir-restructure.h" #include "slang-ir-restructure-scoping.h" #include "slang-ir-specialize.h" @@ -682,6 +683,12 @@ Result linkAndOptimizeIR( #endif validateIRModuleIfEnabled(compileRequest, irModule); + // Lower all bit_cast operations on complex types into leaf-level + // bit_cast on basic types. + lowerBitCast(targetRequest, irModule); + eliminateDeadCode(irModule); + validateIRModuleIfEnabled(compileRequest, irModule); + return SLANG_OK; } |
