summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-constexpr.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-12-07 12:02:30 -0800
committerGitHub <noreply@github.com>2022-12-07 12:02:30 -0800
commit3a3a8b5f7701109fc413f42692c4de5769870489 (patch)
tree909df4a30e69f33a76e0158d92b1823629dc2184 /source/slang/slang-ir-constexpr.cpp
parentf116f43bd12358e87f351f0d3615628ac4e00921 (diff)
Lower-to-ir no longer produce `Construct` inst. (#2553)
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir-constexpr.cpp')
-rw-r--r--source/slang/slang-ir-constexpr.cpp48
1 files changed, 47 insertions, 1 deletions
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;