IR: Implement uselistorder assembly directives
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 19 Aug 2014 21:30:15 +0000 (21:30 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Tue, 19 Aug 2014 21:30:15 +0000 (21:30 +0000)
commit7838818ad7bc483260188b139606f6751e96c5d4
tree5268bc771f1695d6d9dcf2067167a5c2caed375d
parent722885f5f129c4319f86d20a2024896248bf0b94
IR: Implement uselistorder assembly directives

Implement `uselistorder` and `uselistorder_bb` assembly directives,
which allow the use-list order to be recovered when round-tripping to
assembly.

This is the bulk of PR20515.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216025 91177308-0d34-0410-b5e6-96231b3b80d8
31 files changed:
docs/LangRef.rst
lib/AsmParser/LLLexer.cpp
lib/AsmParser/LLParser.cpp
lib/AsmParser/LLParser.h
lib/AsmParser/LLToken.h
lib/IR/AsmWriter.cpp
lib/IR/AsmWriter.h
test/Assembler/alias-use-list-order.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-function-between-blocks.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-function-missing-named.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-function-missing-numbered.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-global-missing.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-duplicated.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-empty.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-one.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-ordered.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-range.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-toofew.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-indexes-toomany.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder-type.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder_bb-missing-bb.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder_bb-missing-body.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder_bb-missing-func.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder_bb-not-bb.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder_bb-not-func.ll [new file with mode: 0644]
test/Assembler/invalid-uselistorder_bb-numbered.ll [new file with mode: 0644]
test/Assembler/uselistorder.ll [new file with mode: 0644]
test/Assembler/uselistorder_bb.ll [new file with mode: 0644]
tools/verify-uselistorder/verify-uselistorder.cpp
utils/emacs/llvm-mode.el
utils/vim/llvm.vim