PSA: Change for FuncOp syntax

I intend to submit sometime early next week which will change the syntax of FuncOp to be func "<visibility>"? @func_name ... and then drop sym_visibility from the attribute dict. The old syntax will still continue to be accepted but the printer will always generate the new syntax. As such, if your (out-of-tree) tests CHECK old syntax, they will need to be updated to CHECK the new syntax.

Also note that if your code directly uses printFunctionLikeOp and parseFunctionLikeOp, they continue to support the existing behavior by default.

Please let me know if there are concerns.

This would be great! I’ve been really wanting this to help improve tests where it’s often just too messy (and copypasta) to get sym_visibility attributes everywhere. I’ve caught many situations where that causes tests to not match real use cases (so things like DCE change their behavior). Having a convention on FuncOp will also set precedence for putting this on other similar ops (global values, etc) that also almost always want sym_visibility.

Sounds really nice!