diff --git a/flang/include/flang/Optimizer/CodeGen/TypeConverter.h b/flang/include/flang/Optimizer/CodeGen/TypeConverter.h --- a/flang/include/flang/Optimizer/CodeGen/TypeConverter.h +++ b/flang/include/flang/Optimizer/CodeGen/TypeConverter.h @@ -146,7 +146,7 @@ private: KindMapping kindMapping; std::unique_ptr specifics; - TBAABuilder tbaaBuilder; + std::unique_ptr tbaaBuilder; }; } // namespace fir diff --git a/flang/lib/Optimizer/CodeGen/TypeConverter.cpp b/flang/lib/Optimizer/CodeGen/TypeConverter.cpp --- a/flang/lib/Optimizer/CodeGen/TypeConverter.cpp +++ b/flang/lib/Optimizer/CodeGen/TypeConverter.cpp @@ -37,7 +37,8 @@ specifics(CodeGenSpecifics::get(module.getContext(), getTargetTriple(module), getKindMapping(module))), - tbaaBuilder(module->getContext(), applyTBAA) { + tbaaBuilder( + std::make_unique(module->getContext(), applyTBAA)) { LLVM_DEBUG(llvm::dbgs() << "FIR type converter\n"); // Each conversion should return a value of type mlir::Type. @@ -338,7 +339,7 @@ mlir::Type baseFIRType, mlir::Type accessFIRType, mlir::LLVM::GEPOp gep) { - tbaaBuilder.attachTBAATag(op, baseFIRType, accessFIRType, gep); + tbaaBuilder->attachTBAATag(op, baseFIRType, accessFIRType, gep); } } // namespace fir