@@ -1030,21 +1030,21 @@ static LLVM::LLVMFuncOp lookupOrCreateSPIRVFn(Operation *symbolTable,
10301030 Type resultType) {
10311031 auto func = dyn_cast_or_null<LLVM::LLVMFuncOp>(
10321032 SymbolTable::lookupSymbolIn (symbolTable, name));
1033- if (!func) {
1034- OpBuilder b (symbolTable->getRegion (0 ));
1035- func = b.create <LLVM::LLVMFuncOp>(
1036- symbolTable->getLoc (), name,
1037- LLVM::LLVMFunctionType::get (resultType, paramTypes));
1038- func.setCConv (LLVM::cconv::CConv::SPIR_FUNC);
1039- func.setConvergent (true );
1040- func.setNoUnwind (true );
1041- func.setWillReturn (true );
1042- }
1033+ if (func)
1034+ return func;
1035+
1036+ OpBuilder b (symbolTable->getRegion (0 ));
1037+ func = b.create <LLVM::LLVMFuncOp>(
1038+ symbolTable->getLoc (), name,
1039+ LLVM::LLVMFunctionType::get (resultType, paramTypes));
1040+ func.setCConv (LLVM::cconv::CConv::SPIR_FUNC);
1041+ func.setConvergent (true );
1042+ func.setNoUnwind (true );
1043+ func.setWillReturn (true );
10431044 return func;
10441045}
10451046
1046- static LLVM::CallOp createSPIRVBuiltinCall (Location loc,
1047- ConversionPatternRewriter &rewriter,
1047+ static LLVM::CallOp createSPIRVBuiltinCall (Location loc, OpBuilder &rewriter,
10481048 LLVM::LLVMFuncOp func,
10491049 ValueRange args) {
10501050 auto call = rewriter.create <LLVM::CallOp>(loc, func, args);
@@ -1063,7 +1063,7 @@ class ControlBarrierPattern
10631063 LogicalResult
10641064 matchAndRewrite (spirv::ControlBarrierOp controlBarrierOp, OpAdaptor adaptor,
10651065 ConversionPatternRewriter &rewriter) const override {
1066- constexpr StringRef funcName = " _Z22__spirv_ControlBarrieriii" ;
1066+ constexpr StringLiteral funcName = " _Z22__spirv_ControlBarrieriii" ;
10671067 Operation *symbolTable =
10681068 controlBarrierOp->getParentWithTrait <OpTrait::SymbolTable>();
10691069
@@ -1073,7 +1073,7 @@ class ControlBarrierPattern
10731073 LLVM::LLVMFuncOp func =
10741074 lookupOrCreateSPIRVFn (symbolTable, funcName, {i32 , i32 , i32 }, voidTy);
10751075
1076- auto loc = controlBarrierOp->getLoc ();
1076+ Location loc = controlBarrierOp->getLoc ();
10771077 Value execution = rewriter.create <LLVM::ConstantOp>(
10781078 loc, i32 , static_cast <int32_t >(adaptor.getExecutionScope ()));
10791079 Value memory = rewriter.create <LLVM::ConstantOp>(
0 commit comments