OSDN Git Service

[LangRef] insertelement/extractelement return poison for out of range.
authorEli Friedman <efriedma@codeaurora.org>
Fri, 8 Jun 2018 21:23:09 +0000 (21:23 +0000)
committerEli Friedman <efriedma@codeaurora.org>
Fri, 8 Jun 2018 21:23:09 +0000 (21:23 +0000)
We need to clarify the language here. I think poison makes more sense
than undef, since it's an undefined operation rather than uninitialized
memory. I don't think anything depends on the difference at the moment,
though.

Differential Revision: https://reviews.llvm.org/D47859

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334325 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LangRef.rst

index de3bb13..12490e9 100644 (file)
@@ -7595,7 +7595,8 @@ Semantics:
 
 The result is a scalar of the same type as the element type of ``val``.
 Its value is the value at position ``idx`` of ``val``. If ``idx``
-exceeds the length of ``val``, the results are undefined.
+exceeds the length of ``val``, the result is a
+:ref:`poison value <poisonvalues>`.
 
 Example:
 """"""""
@@ -7636,8 +7637,8 @@ Semantics:
 
 The result is a vector of the same type as ``val``. Its element values
 are those of ``val`` except at position ``idx``, where it gets the value
-``elt``. If ``idx`` exceeds the length of ``val``, the results are
-undefined.
+``elt``. If ``idx`` exceeds the length of ``val``, the result
+is a :ref:`poison value <poisonvalues>`.
 
 Example:
 """"""""