diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2005-12-08 02:00:36 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2005-12-08 02:00:36 +0000 |
| commit | 9b9567bfb54c250c8701b2e7e507bbbbf377d058 (patch) | |
| tree | e446367bf1393a11d914d6fd9a8c15845b140bbc /llvm/utils/TableGen/CodeGenTarget.h | |
| parent | ae89d862f52b299737c1b468ac67f502000f0070 (diff) | |
| download | bcm5719-llvm-9b9567bfb54c250c8701b2e7e507bbbbf377d058.tar.gz bcm5719-llvm-9b9567bfb54c250c8701b2e7e507bbbbf377d058.zip | |
Added support for ComplexPattern. These are patterns that require C++ pattern
matching code that is not currently auto-generated by tblgen, e.g. X86
addressing mode. Selection routines for complex patterns can return multiple operands, e.g. X86 addressing mode returns 4.
llvm-svn: 24634
Diffstat (limited to 'llvm/utils/TableGen/CodeGenTarget.h')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenTarget.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/utils/TableGen/CodeGenTarget.h b/llvm/utils/TableGen/CodeGenTarget.h index f2c4da336cb..36b87599322 100644 --- a/llvm/utils/TableGen/CodeGenTarget.h +++ b/llvm/utils/TableGen/CodeGenTarget.h @@ -157,6 +157,23 @@ public: bool isLittleEndianEncoding() const; }; +/// ComplexPattern - ComplexPattern info, corresponding to the ComplexPattern +/// tablegen class in TargetSelectionDAG.td +class ComplexPattern { + unsigned NumOperands; + std::string SelectFunc; + std::vector<Record*> MatchingNodes; +public: + ComplexPattern() : NumOperands(0) {}; + ComplexPattern(Record *R); + + unsigned getNumOperands() const { return NumOperands; } + const std::string &getSelectFunc() const { return SelectFunc; } + const std::vector<Record*> &getMatchingNodes() const { + return MatchingNodes; + } +}; + } // End llvm namespace #endif |

