]> granicus.if.org Git - llvm/commit
[globalisel][tablegen] Import ComplexPattern when used as an operator
authorDaniel Sanders <daniel_l_sanders@apple.com>
Sun, 15 Oct 2017 17:03:36 +0000 (17:03 +0000)
committerDaniel Sanders <daniel_l_sanders@apple.com>
Sun, 15 Oct 2017 17:03:36 +0000 (17:03 +0000)
commitcd3c7b27fed008593aa763807a56bf5e81ada954
tree4c92ecae507dd02707631575c29a6dd2da420469
parentab9ea0ecca45e6f8dff7c198f9a09037a1988f6f
[globalisel][tablegen] Import ComplexPattern when used as an operator

Summary:
It's possible for a ComplexPattern to be used as an operator in a match
pattern. This is used by the load/store patterns in AArch64 to name the
suboperands returned by ComplexPattern predicate so that they can be broken
apart and referenced independently in the result pattern.

This patch adds support for this in order to enable the import of load/store
patterns.

Depends on D37445

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

Reviewed By: qcolombet

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

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

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