1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/MC
Reid Kleckner c6d928b2f6 [MC] Separate masm integer literal lexer support from inline asm
Summary:
This renames the IsParsingMSInlineAsm member variable of AsmLexer to
LexMasmIntegers and moves it up to MCAsmLexer. This is the only behavior
controlled by that variable. I added a public setter, so that it can be
set from outside or from the llvm-mc command line. We may need to
arrange things so that users can get this behavior from clang, but
that's future work.

I also put additional hex literal lexing functionality under this flag
to fix PR32973. It appears that this hex literal parsing wasn't intended
to be enabled in non-masm-style blocks.

Now, masm integers (0b1101 and 0ABCh) work in __asm blocks from clang,
but 0b label references work when using .intel_syntax in standalone .s
files.

However, 0b label references will *not* work from __asm blocks in clang.
They will work from GCC inline asm blocks, which it sounds like is
important for Crypto++ as mentioned in PR36144.

Essentially, we only lex masm literals for inline asm blobs that use
intel syntax. If the .intel_syntax directive is used inside a gnu-style
inline asm statement, masm literals will not be lexed, which is
compatible with gas and llvm-mc standalone .s assembly.

This fixes PR36144 and PR32973.

Reviewers: Gerolf, avt77

Subscribers: eraman, hiraditya, llvm-commits

Differential Revision: https://reviews.llvm.org/D53535

llvm-svn: 345189
2018-10-24 20:23:57 +00:00
..
AArch64 [MC] Separate masm integer literal lexer support from inline asm 2018-10-24 20:23:57 +00:00
AMDGPU AMDGPU: Print all kernel descriptor directives (including the ones with default values) 2018-09-12 20:25:39 +00:00
ARM [ARM] Emmit data symbol for constant pool data 2018-10-02 14:55:48 +00:00
AsmParser [debuginfo] generate debug info with asm+.file 2018-08-28 16:23:39 +00:00
AVR [AVR] Redefine the 'SBR' instruction as an alias 2018-09-01 12:22:54 +00:00
BPF
COFF [COFF] [X86] Don't use llvm_unreachable for unsupported relocation types 2018-10-04 20:43:38 +00:00
Disassembler [RISCV] Fix disassembling of fence instruction with invalid field 2018-10-11 22:49:13 +00:00
ELF [lib/MC] - Set SHF_EXCLUDE flag for .dwo sections. 2018-09-22 07:36:20 +00:00
Hexagon [Hexagon] Remove support for V4 2018-10-19 17:31:11 +00:00
Lanai
MachO [MC/Dwarf] Unclamp DWARF linetables format on Darwin. 2018-09-13 13:13:50 +00:00
Mips [mips] Fix FDE/CFI encoding in case of N32 ABI 2018-10-09 11:29:51 +00:00
PowerPC [MC] Avoid inlining constant symbols with variants. 2018-09-17 20:34:26 +00:00
RISCV [RISCV] Fix disassembling of fence instruction with invalid field 2018-10-11 22:49:13 +00:00
Sparc [Sparc] Add unimp alias 2018-09-27 12:34:53 +00:00
SystemZ
WebAssembly [WebAssembly] Change tabs to spaces in basic-assembly.s 2018-10-21 11:16:50 +00:00
X86 [MC] Separate masm integer literal lexer support from inline asm 2018-10-24 20:23:57 +00:00