diff options
| author | Yong He <yonghe@outlook.com> | 2023-09-28 18:07:40 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-09-28 18:07:40 -0700 |
| commit | b7d318f48db2cb83a41d665f1727ae93fc555124 (patch) | |
| tree | d81d69cbba264cd059bbe67f29235226032c4793 /source/slang/slang-ir.cpp | |
| parent | e7238942ea003e134b325fa65296df8e19368e90 (diff) | |
Support `constref` parameters passing. (#3249)
* Support `constref` parameters passing.
* Fix.
* Fix.
* Add test and diagnostic on mix use of __constref and no_diff.
* check for [constref] on differentiable member method.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Diffstat (limited to 'source/slang/slang-ir.cpp')
| -rw-r--r-- | source/slang/slang-ir.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/slang/slang-ir.cpp b/source/slang/slang-ir.cpp index 408b87e49..f8d2b3117 100644 --- a/source/slang/slang-ir.cpp +++ b/source/slang/slang-ir.cpp @@ -2755,6 +2755,11 @@ namespace Slang return (IRRefType*) getPtrType(kIROp_RefType, valueType); } + IRConstRefType* IRBuilder::getConstRefType(IRType* valueType) + { + return (IRConstRefType*)getPtrType(kIROp_ConstRefType, valueType); + } + IRSPIRVLiteralType* IRBuilder::getSPIRVLiteralType(IRType* type) { IRInst* operands[] = { type }; @@ -3588,6 +3593,7 @@ namespace Slang case kIROp_OutType: case kIROp_RawPointerType: case kIROp_RefType: + case kIROp_ConstRefType: case kIROp_ComPtrType: case kIROp_NativePtrType: case kIROp_NativeStringType: @@ -3697,6 +3703,7 @@ namespace Slang case kIROp_OutType: case kIROp_RawPointerType: case kIROp_RefType: + case kIROp_ConstRefType: return 3; case kIROp_VoidType: return 4; |
