================
@@ -349,4 +349,24 @@ def VScaleAttr : Pass<"vscale-attr", "mlir::func::FuncOp"> 
{
   let constructor = "::fir::createVScaleAttrPass()";
 }
 
+def FunctionAttr : Pass<"function-attr", "mlir::func::FuncOp"> {
+  let summary = "This is a generic pass that adds function attributes expected 
at LLVM IR level";
+  let description = [{ This feature introduces a general attribute aimed at 
customizing function characteristics. 
+     Options include:
+     Add "frame-pointer" attribute to functions: Set an attribute for the 
frame 
+     pointer on functions, to avoid saving the frame pointer in a register in 
+     functions where it is unnecessary. 
+     This eliminates the need for instructions to save, establish, and restore 
+     frame pointers, while also freeing up an additional register in numerous 
functions. 
+     However, this approach can make debugging unfeasible on certain machines.
+  }];
----------------
kiranchandramohan wrote:

```suggestion
  let description = [{ This feature introduces a general attribute aimed at
     customizing function characteristics. 
     Options include:
     Add "frame-pointer" attribute to functions: Set an attribute for the frame 
     pointer on functions, to avoid saving the frame pointer in a register in 
     functions where it is unnecessary. This eliminates the need for
     instructions to save, establish, and restore frame pointers, while also
     freeing up an additional register in numerous functions. However, this
     approach can make debugging unfeasible on certain machines.
  }];
```

https://github.com/llvm/llvm-project/pull/74598
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to