From bf6b1c0d4d1edf0ce88016ecfb51cc73c479aecc Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Thu, 4 Sep 2025 09:03:12 -0700 Subject: [PATCH] [MLIR] Make the pass_thru argument of llvm masked.load intrinsic Optional instead of Variadic This is meant as NFC as multiple values there was never supported anyway. Extra values would be dropped when translating to LLVM IR. --- mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td index fa2e10c9cdee5..dd00d67974d28 100644 --- a/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td +++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td @@ -1000,17 +1000,17 @@ def LLVM_GetActiveLaneMaskOp /// Create a call to Masked Load intrinsic. def LLVM_MaskedLoadOp : LLVM_OneResultIntrOp<"masked.load"> { let arguments = (ins LLVM_AnyPointer:$data, LLVM_VectorOf:$mask, - Variadic:$pass_thru, I32Attr:$alignment, + Optional:$pass_thru, I32Attr:$alignment, UnitAttr:$nontemporal); let results = (outs LLVM_AnyVector:$res); let assemblyFormat = "operands attr-dict `:` functional-type(operands, results)"; string llvmBuilder = [{ - auto *inst = $pass_thru.empty() ? builder.CreateMaskedLoad( - $_resultType, $data, llvm::Align($alignment), $mask) : + auto *inst = $pass_thru ? builder.CreateMaskedLoad( + $_resultType, $data, llvm::Align($alignment), $mask, $pass_thru) : builder.CreateMaskedLoad( - $_resultType, $data, llvm::Align($alignment), $mask, $pass_thru[0]); + $_resultType, $data, llvm::Align($alignment), $mask); $res = inst; }] #setNonTemporalMetadataCode; string mlirBuilder = [{