]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
IR: Add 'distinct' MDNodes to bitcode and assembly
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 8 Jan 2015 22:38:29 +0000 (22:38 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Thu, 8 Jan 2015 22:38:29 +0000 (22:38 +0000)
commitf416d72973fe5a7d2b0acf81a83d52e2e1a85b2c
tree09dce671cf998dbb8c524a525a4f71dc85f80b47
parent1cbba214c75ab3378efb77a6afefd45e706b08af
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225474 91177308-0d34-0410-b5e6-96231b3b80d8
20 files changed:
docs/LangRef.rst
include/llvm/Bitcode/LLVMBitCodes.h
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLParser.h
lib/AsmParser/LLToken.h
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/IR/AsmWriter.cpp
test/Assembler/distinct-mdnode.ll [new file with mode: 0644]
test/Transforms/Inline/noalias-calls.ll
test/Transforms/Inline/noalias-cs.ll
test/Transforms/Inline/noalias.ll
test/Transforms/Inline/noalias2.ll
test/Transforms/LoopUnroll/runtime-loop.ll
test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll
test/Transforms/LoopVectorize/X86/already-vectorized.ll
test/Transforms/LoopVectorize/vectorize-once.ll
utils/emacs/llvm-mode.el
utils/vim/llvm.vim