diff --git a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp index 97bd3cf850daa..6b4d3b4fc585b 100644 --- a/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp +++ b/clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp @@ -2015,9 +2015,8 @@ mlir::LogicalResult CIRToLLVMFuncOpLowering::matchAndRewrite( fn.setAlwaysInline(*inlineKind == cir::InlineKind::AlwaysInline); } - fn.setVisibility_Attr(mlir::LLVM::VisibilityAttr::get( - getContext(), lowerCIRVisibilityToLLVMVisibility( - op.getGlobalVisibilityAttr().getValue()))); + fn.setVisibility_( + lowerCIRVisibilityToLLVMVisibility(op.getGlobalVisibility())); rewriter.inlineRegionBefore(op.getBody(), fn.getBody(), fn.end()); if (failed(rewriter.convertRegionTypes(&fn.getBody(), *typeConverter, @@ -2161,14 +2160,13 @@ mlir::LogicalResult CIRToLLVMGlobalOpLowering::matchAndRewrite( } } - // Rewrite op. + mlir::LLVM::Visibility visibility = + lowerCIRVisibilityToLLVMVisibility(op.getGlobalVisibility()); mlir::SymbolRefAttr comdatAttr = getComdatAttr(op, rewriter); auto newOp = rewriter.replaceOpWithNewOp( op, llvmType, isConst, linkage, symbol, init.value_or(mlir::Attribute()), alignment, addrSpace, isDsoLocal, isThreadLocal, comdatAttr, attributes); - newOp.setVisibility_Attr(mlir::LLVM::VisibilityAttr::get( - getContext(), lowerCIRVisibilityToLLVMVisibility( - op.getGlobalVisibilityAttr().getValue()))); + newOp.setVisibility_(visibility); return mlir::success(); }