diff options
| author | Yong He <yonghe@outlook.com> | 2022-12-07 12:02:30 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-07 12:02:30 -0800 |
| commit | 3a3a8b5f7701109fc413f42692c4de5769870489 (patch) | |
| tree | 909df4a30e69f33a76e0158d92b1823629dc2184 /source/slang/slang-ir-constexpr.cpp | |
| parent | f116f43bd12358e87f351f0d3615628ac4e00921 (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.cpp | 48 |
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; |
