[llvm] [IR] Reject unhandled assume bundles and seperate them from normal attributes (PR #197007)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 4 02:00:08 PDT 2026


================
@@ -3132,6 +3132,16 @@ assumptions, such as that a :ref:`parameter attribute <paramattrs>` or a
 location. Operand bundles enable assumptions that are either hard or impossible
 to represent as a boolean argument of an :ref:`llvm.assume <int_assume>`.
 
+The following attributes are currently accepted:
+* ``align``
+* ``cold``
+* ``dereferenceable``
+* ``dereferenceable_or_null``
+* ``ignore``
+* ``nonnull``
+* ``noundef``
+* ``separate_storage``
----------------
nikic wrote:

I think we should further modify this to spell out what the arguments are, something like this:
```suggestion
* ``"align"(ptr %p, i64 %align)``
* ``"align"(ptr %p, i64 %align, i64 %offset)``
* ``"cold"()``
* ``"dereferenceable"(ptr %p, i64 %size)``
* ``"dereferenceable_or_null`"(ptr %p, i64 %size)`
* ``"ignore"(...)``
* ``"nonnull`"(ptr %p)`
* ``"noundef"(any_type %v)``
* ``"separate_storage"(ptr %p1, ptr %p2)``
```
And then drop the wording for that below.

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


More information about the llvm-commits mailing list