[PATCH] D155193: [LangRef] vscale_range implies the vscale is power-of-two

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 13 14:00:36 PDT 2023


nikic added a reviewer: efriedma.
nikic added a comment.

To provide a bit more context here. We would like to have power of two vscale exposed in a target-independent way, so we can make of this in places like ValueTracking, just like we currently do the vscale range. Some options that have been discussed are:

- Remove support for non-power-of-two vscales entirely. (This is my personal preference, but this is hard to undo if it turns out someone does need them.)
- Add an extra attribute vscale_pow2, or a data layout property.
- Make vscale_range imply power-of-two vscale, as a compromise solution (what this patch does). This would be relatively easy to turn into one of the two above at a later point.



================
Comment at: llvm/docs/BitCodeFormat.rst:1095
+  it is not specified. The definition of ``vscale_range`` implies the ``vscale``
+  is power-of-two value.
 
----------------
This change does not affect the bitcode format, no need to modify this file.


================
Comment at: llvm/docs/LangRef.rst:2340
+    about the range of vscale. The values of min and max are power-of-two
+    value if the attribute is present.
 ``"nooutline"``
----------------
This just restricts the min and max. You need to specify that vscale itself is a power of two if the attribute is specified.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155193/new/

https://reviews.llvm.org/D155193



More information about the llvm-commits mailing list