[llvm] [Attr] Add `noipa` function attribute (PR #203304)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 11 08:28:40 PDT 2026


================
@@ -2390,6 +2390,11 @@ For example:
     This attribute indicates that the inliner should never inline this
     function in any situation. This attribute may not be used together
     with the ``alwaysinline`` attribute.
+``noipa``
+    Disables any interprocedural analysis that inspects the definition of this
+    function. Equivalent to moving this function definition to a separate,
+    optimizer-opaque, module. Any attributes on the function are still respected
+    (as they would be if they remained on a function declaration in this module).
----------------
nikic wrote:

This should spell out the interaction with inlining. If I understand your implementation correctly, noipa still allows inlining? Is that intended?

https://github.com/llvm/llvm-project/pull/203304


More information about the llvm-commits mailing list