diff options
author | Sean Silva <silvas@purdue.edu> | 2012-09-19 01:47:00 +0000 |
---|---|---|
committer | Sean Silva <silvas@purdue.edu> | 2012-09-19 01:47:00 +0000 |
commit | a4e2c5fc86c0f05b2f65755116f463e7c051e5ea (patch) | |
tree | 07e7bcab6ad67795f4563d2ec757fde0562112b6 /llvm/utils/TableGen/CodeGenDAGPatterns.h | |
parent | 9944cd7f7abbbfa4df86f410e367c60cab5eaa42 (diff) | |
download | llvm-a4e2c5fc86c0f05b2f65755116f463e7c051e5ea.zip llvm-a4e2c5fc86c0f05b2f65755116f463e7c051e5ea.tar.gz llvm-a4e2c5fc86c0f05b2f65755116f463e7c051e5ea.tar.bz2 |
Refactor Record* by-ID comparator to Record.h
This is a generally useful utility; there's no reason to have it hidden
in CodeGenDAGPatterns.cpp.
Also, rename it to fit the other comparators in Record.h
Review by Jakob.
llvm-svn: 164189
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h')
-rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.h b/llvm/utils/TableGen/CodeGenDAGPatterns.h index 25a0e4b..66f77ea 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.h +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.h @@ -661,23 +661,18 @@ public: unsigned getPatternComplexity(const CodeGenDAGPatterns &CGP) const; }; -// Deterministic comparison of Record*. -struct RecordPtrCmp { - bool operator()(const Record *LHS, const Record *RHS) const; -}; - class CodeGenDAGPatterns { RecordKeeper &Records; CodeGenTarget Target; std::vector<CodeGenIntrinsic> Intrinsics; std::vector<CodeGenIntrinsic> TgtIntrinsics; - std::map<Record*, SDNodeInfo, RecordPtrCmp> SDNodes; - std::map<Record*, std::pair<Record*, std::string>, RecordPtrCmp> SDNodeXForms; - std::map<Record*, ComplexPattern, RecordPtrCmp> ComplexPatterns; - std::map<Record*, TreePattern*, RecordPtrCmp> PatternFragments; - std::map<Record*, DAGDefaultOperand, RecordPtrCmp> DefaultOperands; - std::map<Record*, DAGInstruction, RecordPtrCmp> Instructions; + std::map<Record*, SDNodeInfo, LessRecordByID> SDNodes; + std::map<Record*, std::pair<Record*, std::string>, LessRecordByID> SDNodeXForms; + std::map<Record*, ComplexPattern, LessRecordByID> ComplexPatterns; + std::map<Record*, TreePattern*, LessRecordByID> PatternFragments; + std::map<Record*, DAGDefaultOperand, LessRecordByID> DefaultOperands; + std::map<Record*, DAGInstruction, LessRecordByID> Instructions; // Specific SDNode definitions: Record *intrinsic_void_sdnode; @@ -708,7 +703,7 @@ public: return SDNodeXForms.find(R)->second; } - typedef std::map<Record*, NodeXForm, RecordPtrCmp>::const_iterator + typedef std::map<Record*, NodeXForm, LessRecordByID>::const_iterator nx_iterator; nx_iterator nx_begin() const { return SDNodeXForms.begin(); } nx_iterator nx_end() const { return SDNodeXForms.end(); } @@ -758,7 +753,7 @@ public: return PatternFragments.find(R)->second; } - typedef std::map<Record*, TreePattern*, RecordPtrCmp>::const_iterator + typedef std::map<Record*, TreePattern*, LessRecordByID>::const_iterator pf_iterator; pf_iterator pf_begin() const { return PatternFragments.begin(); } pf_iterator pf_end() const { return PatternFragments.end(); } |