From dd980b492aba9ea1540193434184489d9d04608d Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 7 Aug 2020 18:36:01 -0700 Subject: AnyValue packing/unpacking pass. (#1480) * AnyValue packing/unpacking pass. * Add diagnostic for types that does not fit in required AnyValueSize. * Add expected test result * Fix warnings. --- source/slang/slang-ir-lower-generics.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-ir-lower-generics.cpp') diff --git a/source/slang/slang-ir-lower-generics.cpp b/source/slang/slang-ir-lower-generics.cpp index 9960b7451..7df590b23 100644 --- a/source/slang/slang-ir-lower-generics.cpp +++ b/source/slang/slang-ir-lower-generics.cpp @@ -1,6 +1,7 @@ // slang-ir-lower-generics.cpp #include "slang-ir-lower-generics.h" +#include "slang-ir-any-value-marshalling.h" #include "slang-ir-generics-lowering-context.h" #include "slang-ir-lower-generic-function.h" #include "slang-ir-lower-generic-call.h" @@ -22,10 +23,11 @@ namespace Slang lowerGenericFunctions(&sharedContext); lowerGenericType(&sharedContext); lowerGenericCalls(&sharedContext); + generateWitnessTableWrapperFunctions(&sharedContext); + generateAnyValueMarshallingFunctions(&sharedContext); // We might have generated new temporary variables during lowering. // An SSA pass can clean up unnecessary load/stores. constructSSA(module); eliminateDeadCode(module); - generateWitnessTableWrapperFunctions(&sharedContext); } } // namespace Slang -- cgit v1.2.3