blob: a0bfab3e75cfe19fbb494fde306c7591f08fe349 [file] [log] [blame]
Chris Lattner88ee2a12007-02-27 22:05:51 +00001//===- CallingConvEmitter.h - Generate calling conventions ------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file was developed by Chris Lattner and is distributed under
6// the University of Illinois Open Source 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.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef CALLINGCONV_EMITTER_H
16#define CALLINGCONV_EMITTER_H
17
18#include "TableGenBackend.h"
19#include <map>
20#include <vector>
21#include <cassert>
22
23namespace llvm {
24 class CallingConvEmitter : public TableGenBackend {
25 RecordKeeper &Records;
26 public:
27 CallingConvEmitter(RecordKeeper &R) : Records(R) {}
28
29 // run - Output the asmwriter, returning true on failure.
30 void run(std::ostream &o);
31
32 private:
33 void EmitCallingConv(Record *CC, std::ostream &O);
34 void EmitAction(Record *Action, unsigned Indent, std::ostream &O);
35 unsigned Counter;
36 };
37}
38#endif