From 245466d89cfe54b78da486f06d470bc6daaf4625 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 16 Feb 2023 16:44:04 -0800 Subject: Remove `SharedIRBuilder`. (#2657) Co-authored-by: Yong He --- source/slang/slang-lower-to-ir.cpp | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) (limited to 'source/slang/slang-lower-to-ir.cpp') diff --git a/source/slang/slang-lower-to-ir.cpp b/source/slang/slang-lower-to-ir.cpp index 957f74d40..f78dd39e5 100644 --- a/source/slang/slang-lower-to-ir.cpp +++ b/source/slang/slang-lower-to-ir.cpp @@ -1532,7 +1532,7 @@ struct ValLoweringVisitor : ValVisitorcreateFunc(); irSatisfyingVal = irFunc; - IRBuilder subBuilderStorage(getBuilder()->getSharedBuilder()); + IRBuilder subBuilderStorage = *getBuilder(); auto subBuilder = &subBuilderStorage; subBuilder->setInsertInto(irFunc); @@ -7593,7 +7593,7 @@ struct DeclLoweringVisitor : DeclVisitor // return f : ftype; // } // ``` - IRBuilder typeBuilder(subBuilder->getSharedBuilder()); + IRBuilder typeBuilder(subBuilder->getModule()); IRCloneEnv cloneEnv = {}; if (returnType) { @@ -8587,7 +8587,7 @@ LoweredValInfo ensureDecl( SLANG_UNEXPECTED("Generic type/value shouldn't be handled here!"); } - IRBuilder subIRBuilder(context->irBuilder->getSharedBuilder()); + IRBuilder subIRBuilder(context->irBuilder->getModule()); subIRBuilder.setInsertInto(subIRBuilder.getModule()); IRGenEnv subEnv; @@ -9025,10 +9025,7 @@ RefPtr generateIRForTranslationUnit( RefPtr module = IRModule::create(session); - SharedIRBuilder sharedBuilderStorage(module); - SharedIRBuilder* sharedBuilder = &sharedBuilderStorage; - - IRBuilder builderStorage(sharedBuilder); + IRBuilder builderStorage(module); IRBuilder* builder = &builderStorage; context->irBuilder = builder; @@ -9149,7 +9146,7 @@ RefPtr generateIRForTranslationUnit( checkForMissingReturns(module, compileRequest->getSink()); // Check for invalid differentiable function body. - checkAutoDiffUsages(sharedBuilder, module, compileRequest->getSink()); + checkAutoDiffUsages(module, compileRequest->getSink()); // The "mandatory" optimization passes may make use of the // `IRHighLevelDeclDecoration` type to relate IR instructions @@ -9248,10 +9245,7 @@ struct SpecializedComponentTypeIRGenContext : ComponentTypeVisitor RefPtr module = IRModule::create(session); - SharedIRBuilder sharedBuilderStorage(module); - SharedIRBuilder* sharedBuilder = &sharedBuilderStorage; - - IRBuilder builderStorage(sharedBuilder); + IRBuilder builderStorage(module); builder = &builderStorage; builder->setInsertInto(module); @@ -9385,10 +9379,7 @@ struct TypeConformanceIRGenContext RefPtr module = IRModule::create(session); - SharedIRBuilder sharedBuilderStorage(module); - SharedIRBuilder* sharedBuilder = &sharedBuilderStorage; - - IRBuilder builderStorage(sharedBuilder); + IRBuilder builderStorage(module); builder = &builderStorage; builder->setInsertInto(module); @@ -9733,10 +9724,7 @@ RefPtr TargetProgram::createIRModuleForLayout(DiagnosticSink* sink) RefPtr irModule = IRModule::create(session); - SharedIRBuilder sharedBuilderStorage(irModule); - auto sharedBuilder = &sharedBuilderStorage; - - IRBuilder builderStorage(sharedBuilder); + IRBuilder builderStorage(irModule); auto builder = &builderStorage; builder->setInsertInto(irModule); -- cgit v1.2.3