From 02bb741a8d1b4ed31a65c46b7e43d153b42a7b73 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 31 May 2023 14:28:45 -0700 Subject: Preserve type cast during AST constant folding. (#2912) * Preserve type cast during AST constant folding. Fixes #2891. * Fix. * Fix truncating. * fix test. --------- Co-authored-by: Yong He --- source/slang/slang-lower-to-ir.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source/slang/slang-lower-to-ir.cpp') diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp index b36f0dc94..144875e8c 100644 --- a/source/slang/slang-lower-to-ir.cpp +++ b/source/slang/slang-lower-to-ir.cpp @@ -1432,6 +1432,15 @@ struct ValLoweringVisitor : ValVisitorbase); + SLANG_ASSERT(baseVal.flavor == LoweredValInfo::Flavor::Simple); + auto type = lowerType(context, val->type); + return LoweredValInfo::simple(getBuilder()->emitCast(type, baseVal.val)); + } + LoweredValInfo visitWitnessLookupIntVal(WitnessLookupIntVal* val) { auto witnessVal = lowerVal(context, val->witness); -- cgit v1.2.3