///
class DAGISelEmitter : public TableGenBackend {
RecordKeeper &Records;
- CodegenDAGPatterns *CGP;
+ CodeGenDAGPatterns CGP;
public:
- DAGISelEmitter(RecordKeeper &R) : Records(R) {}
+ DAGISelEmitter(RecordKeeper &R) : Records(R), CGP(R) {}
// run - Output the isel, returning true on failure.
void run(std::ostream &OS);
private:
+ void EmitNodeTransforms(std::ostream &OS);
+ void EmitPredicateFunctions(std::ostream &OS);
+
void GenerateCodeForPattern(const PatternToMatch &Pattern,
std::vector<std::pair<unsigned, std::string> > &GeneratedCode,
std::set<std::string> &GeneratedDecl,
void EmitPatterns(std::vector<std::pair<const PatternToMatch*,
std::vector<std::pair<unsigned, std::string> > > > &Patterns,
unsigned Indent, std::ostream &OS);
+
void EmitInstructionSelector(std::ostream &OS);
};