From 3a3a8b5f7701109fc413f42692c4de5769870489 Mon Sep 17 00:00:00 2001 From: Yong He Date: Wed, 7 Dec 2022 12:02:30 -0800 Subject: Lower-to-ir no longer produce `Construct` inst. (#2553) Co-authored-by: Yong He --- source/slang/slang-ir-constexpr.cpp | 48 ++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) (limited to 'source/slang/slang-ir-constexpr.cpp') diff --git a/source/slang/slang-ir-constexpr.cpp b/source/slang/slang-ir-constexpr.cpp index bc669fa6b..8a772485f 100644 --- a/source/slang/slang-ir-constexpr.cpp +++ b/source/slang/slang-ir-constexpr.cpp @@ -76,10 +76,56 @@ bool opCanBeConstExpr(IROp op) case kIROp_IRem: case kIROp_FRem: case kIROp_Neg: + case kIROp_Geq: + case kIROp_Leq: + case kIROp_Greater: + case kIROp_Less: + case kIROp_Neq: + case kIROp_Eql: + case kIROp_BitAnd: + case kIROp_BitOr: + case kIROp_BitXor: + case kIROp_BitNot: + case kIROp_Lsh: + case kIROp_Rsh: + case kIROp_Select: case kIROp_Construct: + case kIROp_constructVectorFromScalar: case kIROp_makeVector: - case kIROp_makeArray: case kIROp_MakeMatrix: + case kIROp_MakeMatrixFromScalar: + case kIROp_CastFloatToInt: + case kIROp_CastIntToFloat: + case kIROp_IntCast: + case kIROp_FloatCast: + case kIROp_CastIntToPtr: + case kIROp_CastPtrToInt: + case kIROp_CastPtrToBool: + case kIROp_Reinterpret: + case kIROp_BitCast: + case kIROp_MakeTuple: + case kIROp_MakeDifferentialPair: + case kIROp_MakeExistential: + case kIROp_MakeExistentialWithRTTI: + case kIROp_MakeOptionalNone: + case kIROp_MakeOptionalValue: + case kIROp_MakeResultError: + case kIROp_MakeResultValue: + case kIROp_makeString: + case kIROp_makeUInt64: + case kIROp_makeArray: + case kIROp_swizzle: + case kIROp_getElement: + case kIROp_FieldExtract: + case kIROp_ExtractExistentialType: + case kIROp_ExtractExistentialValue: + case kIROp_ExtractExistentialWitnessTable: + case kIROp_WrapExistential: + case kIROp_GetResultError: + case kIROp_GetResultValue: + case kIROp_GetOptionalValue: + case kIROp_DifferentialPairGetDifferential: + case kIROp_DifferentialPairGetPrimal: // TODO: more cases return true; -- cgit v1.2.3