[PATCH] D84201: [LangRef] Add integer wrapping operand bundles.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 21 14:17:47 PDT 2020
efriedma added a comment.
I guess there are sort of three two precedents in IR for this sort of thing:
1. fast-math flags, as mentioned earlier.
2. constant arguments; see, for example, llvm.ctlz
3. metadata; for example, !range on calls.
I don't think we've really ever used operand bundles this way.
Metadata might make more sense here.
================
Comment at: llvm/docs/LangRef.rst:2296
+overflow, respectively, occurs during any computation the return value
+depends on in the called function (see value *dependence* as defined for
+:ref:`poison value <poisonvalues>`). The ``nuw`` and ``nsw`` bundles are only
----------------
> if unsigned and/or signed overflow, respectively, occurs during any computation the return value depends on in the called function
I don't think a generic definition here is really useful; the semantics are really specific to the intrinsic in question.
In particular, for matrix multiplication, this definition is a but unclear. The order of the addition operations isn't defined for matrix multiplication; that matters for nsw.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D84201/new/
https://reviews.llvm.org/D84201
More information about the llvm-commits
mailing list