summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-lower-generic-call.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2020-11-10 14:55:36 -0800
committerGitHub <noreply@github.com>2020-11-10 14:55:36 -0800
commit7bcc2b15c8be4aebc6b9b8f05af6db7a451b228b (patch)
tree2b89d5deaa9992cdb8c6c1ff72a399a5176be802 /source/slang/slang-ir-lower-generic-call.cpp
parent1c4d768bc1b400ab40c10715df98d0b2122bcd66 (diff)
Use integer RTTI/witness handles in existential tuples. (#1598)
* Use integer RTTI/witness handles in existential tuples. * Fix clang error. * Fix IR serialization to use 16bits for opcode. * Undo accidental comment change. * Use variable length encoding for opcode. * Fix compile error. * Fixing issues * Fix code review issues.
Diffstat (limited to 'source/slang/slang-ir-lower-generic-call.cpp')
-rw-r--r--source/slang/slang-ir-lower-generic-call.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/slang/slang-ir-lower-generic-call.cpp b/source/slang/slang-ir-lower-generic-call.cpp
index 369bc712f..644757a89 100644
--- a/source/slang/slang-ir-lower-generic-call.cpp
+++ b/source/slang/slang-ir-lower-generic-call.cpp
@@ -192,7 +192,7 @@ namespace Slang
// Generate RTTI for this type.
auto rttiObject = sharedContext->maybeEmitRTTIObject(arg);
arg = builder->emitGetAddress(
- builder->getPtrType(builder->getRTTIType()),
+ builder->getRTTIHandleType(),
rttiObject);
}
else if (arg->op == kIROp_Specialize)
@@ -281,7 +281,7 @@ namespace Slang
// If we see a call(lookup_interface_method(...), ...), we need to translate
// all occurences of associatedtypes.
auto interfaceType = cast<IRInterfaceType>(
- cast<IRWitnessTableType>(lookupInst->getWitnessTable()->getDataType())
+ cast<IRWitnessTableTypeBase>(lookupInst->getWitnessTable()->getDataType())
->getConformanceType());
if (isBuiltin(interfaceType))
return;