[Mlir-commits] [mlir] 7887e3a - [NFC] Change the FuncOp 'UnitAttr's to not be an 'optional'. (#180209)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Feb 6 08:33:44 PST 2026


Author: Erich Keane
Date: 2026-02-06T08:33:40-08:00
New Revision: 7887e3a39844ddfdf8e55dab6ed207ea3fbcb9fa

URL: https://github.com/llvm/llvm-project/commit/7887e3a39844ddfdf8e55dab6ed207ea3fbcb9fa
DIFF: https://github.com/llvm/llvm-project/commit/7887e3a39844ddfdf8e55dab6ed207ea3fbcb9fa.diff

LOG: [NFC] Change the FuncOp 'UnitAttr's to not be an 'optional'. (#180209)

It appears that these all became `Optional` thanks to a series of
copy/paste errors going back years. CallOp doesn't have this 'feature',
  and a "UnitAttr' should be enough as it is effectively already a
  true/false value as it is.

So this patch removes the optional here to simplify the implementation,
and changes no tests, as the interface is identical anyway.

Added: 
    

Modified: 
    mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
index 0cdad9ab60456..47233d426d69c 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
@@ -1963,7 +1963,7 @@ def LLVM_LLVMFuncOp : LLVM_Op<"func", [
     UnitAttr:$dso_local,
     DefaultValuedAttr<CConv, "CConv::C">:$CConv,
     OptionalAttr<SymbolRefAttr>:$comdat,
-    OptionalAttr<UnitAttr>:$convergent,
+    UnitAttr:$convergent,
     OptionalAttr<FlatSymbolRefAttr>:$personality,
     OptionalAttr<StrAttr>:$garbageCollector,
     OptionalAttr<ArrayAttr>:$passthrough,
@@ -1972,15 +1972,10 @@ def LLVM_LLVMFuncOp : LLVM_Op<"func", [
     OptionalAttr<I64Attr>:$function_entry_count,
     OptionalAttr<LLVM_MemoryEffectsAttr>:$memory_effects,
     DefaultValuedAttr<Visibility, "mlir::LLVM::Visibility::Default">:$visibility_,
-    OptionalAttr<UnitAttr>:$arm_streaming,
-    OptionalAttr<UnitAttr>:$arm_locally_streaming,
-    OptionalAttr<UnitAttr>:$arm_streaming_compatible,
-    OptionalAttr<UnitAttr>:$arm_new_za,
-    OptionalAttr<UnitAttr>:$arm_in_za,
-    OptionalAttr<UnitAttr>:$arm_out_za,
-    OptionalAttr<UnitAttr>:$arm_inout_za,
-    OptionalAttr<UnitAttr>:$arm_preserves_za,
-    OptionalAttr<StrAttr>:$section,
+    UnitAttr:$arm_streaming, UnitAttr:$arm_locally_streaming,
+    UnitAttr:$arm_streaming_compatible, UnitAttr:$arm_new_za,
+    UnitAttr:$arm_in_za, UnitAttr:$arm_out_za, UnitAttr:$arm_inout_za,
+    UnitAttr:$arm_preserves_za, OptionalAttr<StrAttr>:$section,
     OptionalAttr<UnnamedAddr>:$unnamed_addr,
     OptionalAttr<I64Attr>:$alignment,
     OptionalAttr<LLVM_VScaleRangeAttr>:$vscale_range,
@@ -1997,20 +1992,11 @@ def LLVM_LLVMFuncOp : LLVM_Op<"func", [
     OptionalAttr<StrAttr>:$fp_contract,
     OptionalAttr<StrAttr>:$instrument_function_entry,
     OptionalAttr<StrAttr>:$instrument_function_exit,
-    OptionalAttr<UnitAttr>:$no_inline,
-    OptionalAttr<UnitAttr>:$always_inline,
-    OptionalAttr<UnitAttr>:$inline_hint,
-    OptionalAttr<UnitAttr>:$no_unwind,
-    OptionalAttr<UnitAttr>:$will_return,
-    OptionalAttr<UnitAttr>:$noreturn,
-    OptionalAttr<UnitAttr>:$optimize_none,
-    OptionalAttr<UnitAttr>:$returns_twice,
-    OptionalAttr<UnitAttr>:$hot,
-    OptionalAttr<UnitAttr>:$cold,
-    OptionalAttr<UnitAttr>:$noduplicate,
-    OptionalAttr<UnitAttr>:$no_caller_saved_registers,
-    OptionalAttr<UnitAttr>:$nocallback,
-    OptionalAttr<StrAttr>:$modular_format,
+    UnitAttr:$no_inline, UnitAttr:$always_inline, UnitAttr:$inline_hint,
+    UnitAttr:$no_unwind, UnitAttr:$will_return, UnitAttr:$noreturn,
+    UnitAttr:$optimize_none, UnitAttr:$returns_twice, UnitAttr:$hot,
+    UnitAttr:$cold, UnitAttr:$noduplicate, UnitAttr:$no_caller_saved_registers,
+    UnitAttr:$nocallback, OptionalAttr<StrAttr>:$modular_format,
     OptionalAttr<ArrayAttr>:$nobuiltins,
     OptionalAttr<DenseI32ArrayAttr>:$allocsize,
     OptionalAttr<UnitAttr>:$optsize,


        


More information about the Mlir-commits mailing list