Emit a getMatchingSuperRegClass() implementation for every target.
[oota-llvm.git] / utils / TableGen / AsmMatcherEmitter.h
1 //===- AsmMatcherEmitter.h - Generate an assembly matcher -------*- 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 target specifier matcher for converting parsed
11 // assembly operands in the MCInst structures.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef ASMMATCHER_EMITTER_H
16 #define ASMMATCHER_EMITTER_H
17
18 #include "llvm/TableGen/TableGenBackend.h"
19 #include <cassert>
20
21 namespace llvm {
22   class AsmMatcherEmitter : public TableGenBackend {
23     RecordKeeper &Records;
24   public:
25     AsmMatcherEmitter(RecordKeeper &R) : Records(R) {}
26
27     // run - Output the matcher, returning true on failure.
28     void run(raw_ostream &o);
29   };
30 }
31 #endif