mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-25 21:18:19 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24634 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user