llvm/lib/MC/MCParser
Marina Yatsina aa9928a862 [ms-inline-asm][AVX512] Add ability to use k registers in MS inline asm + fix bag with curly braces
Until now curly braces could only be used in MS inline assembly to mark block start/end.
All curly braces were removed completely at a very early stage.
This approach caused bugs like:
"m{o}v eax, ebx" turned into "mov eax, ebx" without any error.

In addition, AVX-512 added special operands (e.g., k registers), which are also surrounded by curly braces that mark them as such.
Now, we need to keep the curly braces and identify at a later stage if they are marking block start/end (if so, ignore them), or surrounding special AVX-512 operands (if so, parse them as such).

This patch fixes the bug described above and enables the use of AVX-512 special operands.

This commit is the the llvm part of the patch.
The clang part of the review is: http://reviews.llvm.org/D17766
The llvm part of the review is: http://reviews.llvm.org/D17767

Differential Revision: http://reviews.llvm.org/D17767



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262843 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-07 18:11:16 +00:00
..
AsmLexer.cpp Remove uses of builtin comma operator. 2016-02-18 22:09:30 +00:00
AsmParser.cpp [ms-inline-asm][AVX512] Add ability to use k registers in MS inline asm + fix bag with curly braces 2016-03-07 18:11:16 +00:00
CMakeLists.txt Fix header path in CMake. NFC. 2015-06-19 20:49:02 +00:00
COFFAsmParser.cpp Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00
DarwinAsmParser.cpp Use std::unique_ptr. NFC. 2015-12-16 23:49:14 +00:00
ELFAsmParser.cpp Stop producing .data.rel sections. 2015-11-18 06:02:15 +00:00
LLVMBuild.txt
MCAsmLexer.cpp [AsmParser] Allow tokens to be put back in to the token stream. 2015-11-08 23:48:23 +00:00
MCAsmParser.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 20:50:44 +00:00
MCAsmParserExtension.cpp
MCTargetAsmParser.cpp Move MCTargetAsmParser.h to llvm/MC/MCParser where it belongs. 2016-01-27 10:01:28 +00:00