1//===- DAGISelEmitter.h - Generate an instruction selector ------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9// 10// This tablegen backend emits a DAG instruction selector. 11// 12//===----------------------------------------------------------------------===// 13 14#ifndef DAGISEL_EMITTER_H 15#define DAGISEL_EMITTER_H 16 17#include "llvm/TableGen/TableGenBackend.h" 18#include "CodeGenDAGPatterns.h" 19 20namespace llvm { 21 22/// DAGISelEmitter - The top-level class which coordinates construction 23/// and emission of the instruction selector. 24/// 25class DAGISelEmitter : public TableGenBackend { 26 RecordKeeper &Records; 27 CodeGenDAGPatterns CGP; 28public: 29 explicit DAGISelEmitter(RecordKeeper &R) : Records(R), CGP(R) {} 30 31 // run - Output the isel, returning true on failure. 32 void run(raw_ostream &OS); 33}; 34 35} // End llvm namespace 36 37#endif 38