diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-01-08 22:38:29 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2015-01-08 22:38:29 +0000 |
commit | 090a19bd3cab8b4247bb41eecf20e9f0f211332b (patch) | |
tree | 3c7d1b2041a30c42072457ae7adc70ef5d873bd3 /llvm/docs | |
parent | 22ffa9b291e17a45ddc553817bbfee9d575e5600 (diff) | |
download | bcm5719-llvm-090a19bd3cab8b4247bb41eecf20e9f0f211332b.tar.gz bcm5719-llvm-090a19bd3cab8b4247bb41eecf20e9f0f211332b.zip |
IR: Add 'distinct' MDNodes to bitcode and assembly
Propagate whether `MDNode`s are 'distinct' through the other types of IR
(assembly and bitcode). This adds the `distinct` keyword to assembly.
Currently, no one actually calls `MDNode::getDistinct()`, so these nodes
only get created for:
- self-references, which are never uniqued, and
- nodes whose operands are replaced that hit a uniquing collision.
The concept of distinct nodes is still not quite first-class, since
distinct-ness doesn't yet survive across `MapMetadata()`.
Part of PR22111.
llvm-svn: 225474
Diffstat (limited to 'llvm/docs')
-rw-r--r-- | llvm/docs/LangRef.rst | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst index 5238fe90d30..0a1c7768d5a 100644 --- a/llvm/docs/LangRef.rst +++ b/llvm/docs/LangRef.rst @@ -2848,6 +2848,12 @@ their operand. For example: !{ !"test\00", i32 10} +Metadata nodes that aren't uniqued use the ``distinct`` keyword. For example: + +.. code-block:: llvm + + !0 = distinct !{!"test\00", i32 10} + A :ref:`named metadata <namedmetadatastructure>` is a collection of metadata nodes, which can be looked up in the module symbol table. For example: |