From a2401a6ae6c50aeb6ffc196144569bb5253cdf95 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 12 Feb 2021 12:20:17 -0800 Subject: Support `bit_cast` between complex types. (#1702) * Support `bit_cast` between complex types. * Fix vs project file * Fix clang build error * fix * fix * Fix * FIx * Fix * Fix * Fix * Fix * Fix linux compile error Co-authored-by: Tim Foley --- source/slang/slang-emit.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source/slang/slang-emit.cpp') 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; } -- cgit v1.2.3