summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-ir-lower-generic-function.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/slang/slang-ir-lower-generic-function.cpp')
-rw-r--r--source/slang/slang-ir-lower-generic-function.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/source/slang/slang-ir-lower-generic-function.cpp b/source/slang/slang-ir-lower-generic-function.cpp
index 8cd292e49..0bfc62fdb 100644
--- a/source/slang/slang-ir-lower-generic-function.cpp
+++ b/source/slang/slang-ir-lower-generic-function.cpp
@@ -45,8 +45,7 @@ namespace Slang
return genericValue;
}
IRCloneEnv cloneEnv;
- IRBuilder builder;
- builder.sharedBuilder = &sharedContext->sharedBuilderStorage;
+ IRBuilder builder(sharedContext->sharedBuilderStorage);
builder.setInsertBefore(genericParent);
auto loweredFunc = cast<IRFunc>(cloneInstAndOperands(&cloneEnv, &builder, func));
auto loweredGenericType =
@@ -155,8 +154,7 @@ namespace Slang
return interfaceType;
List<IRInterfaceRequirementEntry*> newEntries;
- IRBuilder builder;
- builder.sharedBuilder = &sharedContext->sharedBuilderStorage;
+ IRBuilder builder(sharedContext->sharedBuilderStorage);
builder.setInsertBefore(interfaceType);
// Translate IRFuncType in interface requirements.
@@ -214,9 +212,8 @@ namespace Slang
void lowerWitnessTable(IRWitnessTable* witnessTable)
{
auto interfaceType = maybeLowerInterfaceType(cast<IRInterfaceType>(witnessTable->getConformanceType()));
- IRBuilder builderStorage;
+ IRBuilder builderStorage(sharedContext->sharedBuilderStorage);
auto builder = &builderStorage;
- builder->sharedBuilder = &sharedContext->sharedBuilderStorage;
builder->setInsertBefore(witnessTable);
if (interfaceType != witnessTable->getConformanceType())
{
@@ -322,8 +319,7 @@ namespace Slang
// generate along the way.
//
SharedIRBuilder* sharedBuilder = &sharedContext->sharedBuilderStorage;
- sharedBuilder->module = sharedContext->module;
- sharedBuilder->session = sharedContext->module->session;
+ sharedBuilder->init(sharedContext->module);
sharedContext->addToWorkList(sharedContext->module->getModuleInst());