diff options
author | Evan Cheng <evan.cheng@apple.com> | 2006-10-11 21:02:01 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2006-10-11 21:02:01 +0000 |
commit | 94b3040fef9475c74b877fb32cb45200cea273bb (patch) | |
tree | 7e8fa9cab9871b355dfc7d14071b9ad4803d6018 /utils/TableGen/CodeGenTarget.h | |
parent | 7aed46c25b9c1527b4112e71060f35c4f9c6b024 (diff) | |
download | llvm-94b3040fef9475c74b877fb32cb45200cea273bb.tar.gz llvm-94b3040fef9475c74b877fb32cb45200cea273bb.tar.bz2 llvm-94b3040fef9475c74b877fb32cb45200cea273bb.tar.xz |
Added properties such as SDNPHasChain to ComplexPattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30890 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/CodeGenTarget.h')
-rw-r--r-- | utils/TableGen/CodeGenTarget.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/utils/TableGen/CodeGenTarget.h b/utils/TableGen/CodeGenTarget.h index dd58d929f8..bd403402ca 100644 --- a/utils/TableGen/CodeGenTarget.h +++ b/utils/TableGen/CodeGenTarget.h @@ -29,6 +29,10 @@ class RecordKeeper; struct CodeGenRegister; class CodeGenTarget; +// SelectionDAG node properties. +enum SDNP { SDNPCommutative, SDNPAssociative, SDNPHasChain, + SDNPOutFlag, SDNPInFlag, SDNPOptInFlag }; + /// getValueType - Return the MVT::ValueType that the specified TableGen record /// corresponds to. MVT::ValueType getValueType(Record *Rec, const CodeGenTarget *CGT = 0); @@ -157,6 +161,7 @@ class ComplexPattern { unsigned NumOperands; std::string SelectFunc; std::vector<Record*> RootNodes; + unsigned Properties; public: ComplexPattern() : NumOperands(0) {}; ComplexPattern(Record *R); @@ -167,6 +172,8 @@ public: const std::vector<Record*> &getRootNodes() const { return RootNodes; } + bool hasProperty(enum SDNP Prop) const { return Properties & (1 << Prop); } + }; } // End llvm namespace |