OSDN Git Service

[globalisel][tablegen] Add support for fpimm and import of APInt/APFloat based ImmLeaf.
authorDaniel Sanders <daniel_l_sanders@apple.com>
Fri, 13 Oct 2017 21:28:03 +0000 (21:28 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Fri, 13 Oct 2017 21:28:03 +0000 (21:28 +0000)
commit94aa10e94b0c4f44947a6943236dd09408ca4035
treee803a6fa04b8a9c34da557007e646768bae47785
parentf85a6f9ed6d282e374a412c5f8baecce5e36dfeb
[globalisel][tablegen] Add support for fpimm and import of APInt/APFloat based ImmLeaf.

Summary:
There's only a tablegen testcase for IntImmLeaf and not a CodeGen one
because the relevant rules are rejected for other reasons at the moment.
On AArch64, it's because there's an SDNodeXForm attached to the operand.
On X86, it's because the rule either emits multiple instructions or has
another predicate using PatFrag which cannot easily be supported at the
same time.

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

Reviewed By: qcolombet

Subscribers: aemerson, javed.absar, igorb, llvm-commits, kristof.beyls

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315761 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/GlobalISel/InstructionSelector.h
include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
include/llvm/Target/GlobalISel/SelectionDAGCompat.td
lib/Target/AArch64/AArch64InstructionSelector.cpp
lib/Target/X86/X86InstrFPStack.td
test/CodeGen/AArch64/GlobalISel/select-constant.mir
test/TableGen/GlobalISelEmitter.td
utils/TableGen/CodeGenDAGPatterns.cpp
utils/TableGen/CodeGenDAGPatterns.h
utils/TableGen/GlobalISelEmitter.cpp