diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -3523,6 +3523,9 @@ To ensure all uses of a given register observe the same value (even if '``undef``'), the :ref:`freeze instruction ` can be used. A value is frozen if its uses see the same value. +An aggregate value or vector is frozen if its elements are frozen. +The padding of an aggregate isn't considered, since it isn't visible +without storing it into memory and loading it with a different type. .. code-block:: llvm @@ -10681,6 +10684,9 @@ While ``undef`` and ``poison`` pointers can be frozen, the result is a non-dereferenceable pointer. See the :ref:`Pointer Aliasing Rules ` section for more information. +If an aggregate value or vector is frozen, the operand is frozen element-wise. +The padding of an aggregate isn't considered, since it isn't visible +without storing it into memory and loading it with a different type. Example: