X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=utils%2FTableGen%2FDAGISelEmitter.h;h=2f626f6b866bd446e64fc6add07bab70dce7452f;hb=a62c302ddd79c525d6fac050974911d36662ebfe;hp=0fdbbafccb64bcbd544cedcc6697d2228a20b825;hpb=dc32f9802adc139e3d7ee5e25fe656b1d3999bc2;p=oota-llvm.git diff --git a/utils/TableGen/DAGISelEmitter.h b/utils/TableGen/DAGISelEmitter.h index 0fdbbafccb6..2f626f6b866 100644 --- a/utils/TableGen/DAGISelEmitter.h +++ b/utils/TableGen/DAGISelEmitter.h @@ -14,6 +14,7 @@ #ifndef DAGISEL_EMITTER_H #define DAGISEL_EMITTER_H +#include "TableGenBackend.h" #include "CodeGenDAGPatterns.h" #include @@ -24,22 +25,25 @@ namespace llvm { /// 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 > &GeneratedCode, std::set &GeneratedDecl, std::vector &TargetOpcodes, - std::vector &TargetVTs); + std::vector &TargetVTs, + bool &OutputIsVariadic, + unsigned &NumInputRootOps); void EmitPatterns(std::vector > > > &Patterns, unsigned Indent, std::ostream &OS);