Enable loop bb placement optimization.
[llvm/msp430.git] / utils / TableGen / CallingConvEmitter.h
blobffd6a48c7ad65bde8914da3232d2a4c8289955b0
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(std::ostream &o);
32 private:
33 void EmitCallingConv(Record *CC, std::ostream &O);
34 void EmitAction(Record *Action, unsigned Indent, std::ostream &O);
35 unsigned Counter;
38 #endif