1 //===- InstrEnumEmitter.h - Generate Instruction Set Enums ------*- 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 is responsible for emitting enums for each machine 11 // instruction. 12 // 13 //===----------------------------------------------------------------------===// 14 15 #ifndef INSTRENUM_EMITTER_H 16 #define INSTRENUM_EMITTER_H 17 18 #include "TableGenBackend.h" 19 20 namespace llvm { 21 22 class InstrEnumEmitter : public TableGenBackend { 23 RecordKeeper &Records; 24 public: InstrEnumEmitter(RecordKeeper & R)25 InstrEnumEmitter(RecordKeeper &R) : Records(R) {} 26 27 // run - Output the instruction set description, returning true on failure. 28 void run(raw_ostream &OS); 29 }; 30 31 } // End llvm namespace 32 33 #endif 34