dneto0 wrote:
Hi, former SPIR WG chair here, and long time maintainer of spirv-as and
spirv-dis.
@s-perron is correct: only the numbers in the binary are normative.
> I think implementing a way to differentiate capabilities that have the same
> value is out of scope for this pr.
I recommend not addressing this, ever. It's not worth it.
spirv-as will map both the old and new string names to the number; it is driven
from the grammar file and knows all registered names for numbers. (e.g. see
[here](https://github.com/KhronosGroup/SPIRV-Headers/blob/cb6b2c32dbfc3257c1e9142a116fe9ee3d9b80a2/include/spirv/unified1/spirv.core.grammar.json#L16408)
for the declaration that capability strings `DotProduct` and `DotProductKHR`
both map to 6019.
spirv-dis maps the number to what it considers the best name, which is the
string listed for the `enumerant`, field and not any of the `alias` names. By
convention, the most standardized name is put in that slot. So the standard
core name is better than the KHR, which is better than an EXT, which is better
than a vendor-specific name.
https://github.com/llvm/llvm-project/pull/113623
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits