diff options
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.h b/llvm/utils/TableGen/CodeGenDAGPatterns.h index 94694a96eb90..dbdc72f0873a 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.h +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.h @@ -102,6 +102,8 @@ struct MachineValueTypeSet { Words[T.SimpleTy / WordWidth] &= ~(WordType(1) << (T.SimpleTy % WordWidth)); } + void writeToStream(raw_ostream &OS) const; + struct const_iterator { // Some implementations of the C++ library require these traits to be // defined. @@ -185,6 +187,8 @@ private: std::array<WordType,NumWords> Words; }; +raw_ostream &operator<<(raw_ostream &OS, const MachineValueTypeSet &T); + struct TypeSetByHwMode : public InfoByHwMode<MachineValueTypeSet> { using SetType = MachineValueTypeSet; SmallVector<unsigned, 16> AddrSpaces; @@ -239,7 +243,6 @@ struct TypeSetByHwMode : public InfoByHwMode<MachineValueTypeSet> { bool assign_if(const TypeSetByHwMode &VTS, Predicate P); void writeToStream(raw_ostream &OS) const; - static void writeToStream(const SetType &S, raw_ostream &OS); bool operator==(const TypeSetByHwMode &VTS) const; bool operator!=(const TypeSetByHwMode &VTS) const { return !(*this == VTS); } @@ -538,6 +541,9 @@ public: // Predicate code uses the PatFrag's captured operands. bool usesOperands() const; + // Check if the HasNoUse predicate is set. + bool hasNoUse() const; + // Is the desired predefined predicate for a load? bool isLoad() const; // Is the desired predefined predicate for a store? |
