Support using DebugLoc's in a DenseMap.
[llvm/stm8.git] / utils / TableGen / CallingConvEmitter.h
blob7fc2507e8889da50503a6b72e5a54eaf86f39162
1 //===- CallingConvEmitter.h - Generate calling conventions ------*- 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 descriptions of the calling
11 // conventions supported by this target.
13 //===----------------------------------------------------------------------===//
15 #ifndef CALLINGCONV_EMITTER_H
16 #define CALLINGCONV_EMITTER_H
18 #include "TableGenBackend.h"
19 #include <map>
20 #include <vector>
21 #include <cassert>
23 namespace llvm {
24 class CallingConvEmitter : public TableGenBackend {
25 RecordKeeper &Records;
26 public:
27 explicit CallingConvEmitter(RecordKeeper &R) : Records(R) {}
29 // run - Output the asmwriter, returning true on failure.
30 void run(raw_ostream &o);
32 private:
33 void EmitCallingConv(Record *CC, raw_ostream &O);
34 void EmitAction(Record *Action, unsigned Indent, raw_ostream &O);
35 unsigned Counter;
38 #endif