================ @@ -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