OSDN Git Service

[MC][X86] Allow assembler variable assignment to register name.
authorNirav Dave <niravd@google.com>
Tue, 5 Jun 2018 15:13:39 +0000 (15:13 +0000)
committerNirav Dave <niravd@google.com>
Tue, 5 Jun 2018 15:13:39 +0000 (15:13 +0000)
commit956861e56a41b6a061153bae4692f45bb6256470
treed666b58a63114820ca4d90ba00a56b16ca0400de
parente5fc6740900e3936b70a58ea80a1acbac4fe35f0
[MC][X86] Allow assembler variable assignment to register name.

Summary:
Allow extended parsing of variable assembler assignment syntax and modify X86 to permit
VAR = register assignment. As we emit these as .set directives when possible, we inline
such expressions in output assembly.

Fixes PR37425.

Reviewers: rnk, void, echristo

Reviewed By: rnk

Subscribers: nickdesaulniers, llvm-commits, hiraditya

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@334022 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/MC/MCExpr.h
include/llvm/MC/MCParser/MCAsmParser.h
include/llvm/MC/MCParser/MCAsmParserUtils.h
include/llvm/MC/MCParser/MCTargetAsmParser.h
lib/MC/MCAsmStreamer.cpp
lib/MC/MCParser/AsmParser.cpp
lib/MC/MCParser/MCAsmParser.cpp
lib/Target/X86/AsmParser/X86AsmParser.cpp
lib/Target/X86/MCTargetDesc/X86MCExpr.h [new file with mode: 0644]
test/MC/X86/pr37425.s [new file with mode: 0644]