diff options
author | Tim Northover <tnorthover@apple.com> | 2014-05-20 11:52:46 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-05-20 11:52:46 +0000 |
commit | c807a17a9b9250196f16e6a9ce843a8b0f09b9ff (patch) | |
tree | e615e6dc18d4876c7322acdeec39749a025b3628 /llvm/lib/CodeGen/LiveInterval.cpp | |
parent | 069e5f485818eb127ae1944b6759b29dbce3437a (diff) | |
download | bcm5719-llvm-c807a17a9b9250196f16e6a9ce843a8b0f09b9ff.tar.gz bcm5719-llvm-c807a17a9b9250196f16e6a9ce843a8b0f09b9ff.zip |
TableGen: permit non-leaf ComplexPattern uses
This allows the results of a ComplexPattern check to be distributed to separate
named Operands, instead of the current system where all results must apply (and
match perfectly) with a single Operand.
For example, if "some_addrmode" is a ComplexPattern producing two results, you
can write:
def : Pat<(load (some_addrmode GPR64:$base, imm:$offset)),
(INST GPR64:$base, imm:$offset)>;
This should allow neater instruction definitions in TableGen that don't put all
possible aspects of addressing into a single operand, but are still usable with
relatively simple C++ CodeGen idioms.
llvm-svn: 209206
Diffstat (limited to 'llvm/lib/CodeGen/LiveInterval.cpp')
0 files changed, 0 insertions, 0 deletions