Skip to content

Commit 36b51fe

Browse files
committed
fixup! [mlir] Add spirv-to-llvm translation for OpControlBarrier
1 parent b24f033 commit 36b51fe

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)