diff options
| author | Chris Lattner <sabre@nondot.org> | 2008-01-05 22:54:53 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2008-01-05 22:54:53 +0000 |
| commit | cc43e79bcd612df9830c2d3e262f674e644ee32b (patch) | |
| tree | 392c7f295f7961a6778180aaf7428d7409852589 /llvm/utils/TableGen/CodeGenDAGPatterns.h | |
| parent | e7170df0432709d850c9cb8cb8c940640d97ac46 (diff) | |
| download | bcm5719-llvm-cc43e79bcd612df9830c2d3e262f674e644ee32b.tar.gz bcm5719-llvm-cc43e79bcd612df9830c2d3e262f674e644ee32b.zip | |
move Node Transformation printing from CodeGenDAGPatterns -> DAGISelEmitter.
The only difference in output is that we now print them in alphabetical
order instead of reverse alphabetical order.
llvm-svn: 45635
Diffstat (limited to 'llvm/utils/TableGen/CodeGenDAGPatterns.h')
| -rw-r--r-- | llvm/utils/TableGen/CodeGenDAGPatterns.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/CodeGenDAGPatterns.h b/llvm/utils/TableGen/CodeGenDAGPatterns.h index ddeadc9bb25..08b40d190d5 100644 --- a/llvm/utils/TableGen/CodeGenDAGPatterns.h +++ b/llvm/utils/TableGen/CodeGenDAGPatterns.h @@ -451,7 +451,7 @@ class CodegenDAGPatterns { /// emit. std::vector<PatternToMatch> PatternsToMatch; public: - CodegenDAGPatterns(RecordKeeper &R, std::ostream &OS); + CodegenDAGPatterns(RecordKeeper &R); ~CodegenDAGPatterns(); const CodeGenTarget &getTargetInfo() const { return Target; } @@ -463,11 +463,18 @@ public: return SDNodes.find(R)->second; } - const std::pair<Record*, std::string> &getSDNodeTransform(Record *R) const { + // Node transformation lookups. + typedef std::pair<Record*, std::string> NodeXForm; + const NodeXForm &getSDNodeTransform(Record *R) const { assert(SDNodeXForms.count(R) && "Invalid transform!"); return SDNodeXForms.find(R)->second; } + typedef std::map<Record*, NodeXForm>::const_iterator nx_iterator; + nx_iterator nx_begin() const { return SDNodeXForms.begin(); } + nx_iterator nx_end() const { return SDNodeXForms.end(); } + + const ComplexPattern &getComplexPattern(Record *R) const { assert(ComplexPatterns.count(R) && "Unknown addressing mode!"); return ComplexPatterns.find(R)->second; @@ -530,7 +537,7 @@ public: private: void ParseNodeInfo(); - void ParseNodeTransforms(std::ostream &OS); + void ParseNodeTransforms(); void ParseComplexPatterns(); void ParsePatternFragments(); void ParseDefaultOperands(); |

