OSDN Git Service

[globalisel][tblgen] Add support for ComplexPatterns
authorDaniel Sanders <daniel_l_sanders@apple.com>
Tue, 14 Mar 2017 21:32:08 +0000 (21:32 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Tue, 14 Mar 2017 21:32:08 +0000 (21:32 +0000)
commit9db5e41e1d6da6c4616f9bb1acc282b1151bca26
tree8ec1c26dabe509456073552ad7861845ea72d998
parentd18970b6b1ed25f9e2bc9afd4bceb65672168975
[globalisel][tblgen] Add support for ComplexPatterns

Summary:
Adds a new kind of MachineOperand: MO_Placeholder.
This operand must not appear in the MIR and only exists as a way of
creating an 'uninitialized' operand until a matcher function overwrites it.

Depends on D30046, D29712

Reviewers: t.p.northover, ab, rovka, aditya_nandakumar, javed.absar, qcolombet

Reviewed By: qcolombet

Subscribers: dberris, kristof.beyls, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297782 91177308-0d34-0410-b5e6-96231b3b80d8
15 files changed:
include/llvm/CodeGen/MachineOperand.h
include/llvm/Target/GlobalISel/SelectionDAGCompat.td
include/llvm/Target/GlobalISel/Target.td [new file with mode: 0644]
include/llvm/Target/Target.td
lib/CodeGen/MIRPrinter.cpp
lib/CodeGen/MachineInstr.cpp
lib/Target/AArch64/AArch64InstrFormats.td
lib/Target/AArch64/AArch64InstructionSelector.cpp
lib/Target/AArch64/AArch64InstructionSelector.h
lib/Target/ARM/ARMExpandPseudoInsts.cpp
lib/Target/X86/X86InstructionSelector.cpp
lib/Target/X86/X86InstructionSelector.h
test/CodeGen/AArch64/GlobalISel/arm64-instructionselect.mir
test/TableGen/GlobalISelEmitter.td
utils/TableGen/GlobalISelEmitter.cpp