blob: 0f2ff3719678d7000ea547c523615504f5177b7b [file] [log] [blame]
Mikhail Glushenkovfb37f392008-05-30 06:20:54 +00001//===- LLVMCConfigurationEmitter.cpp - Generate LLVMCC config ---*- C++ -*-===//
Anton Korobeynikovac67b7e2008-03-23 08:57:20 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open
6// Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This tablegen backend is responsible for emitting LLVMCC configuration code.
11//
12//===----------------------------------------------------------------------===//
13
Mikhail Glushenkov895820d2008-05-06 18:12:03 +000014#ifndef LLVM_UTILS_TABLEGEN_LLVMCCONF_EMITTER_H
15#define LLVM_UTILS_TABLEGEN_LLVMCCONF_EMITTER_H
Anton Korobeynikovac67b7e2008-03-23 08:57:20 +000016
17#include "TableGenBackend.h"
18
19namespace llvm {
Mikhail Glushenkov4561ab52008-05-07 21:50:19 +000020
21 /// LLVMCConfigurationEmitter - TableGen backend that generates
22 /// configuration code for LLVMC.
Mikhail Glushenkov895820d2008-05-06 18:12:03 +000023 class LLVMCConfigurationEmitter : public TableGenBackend {
Chris Lattner67db8832010-12-13 00:23:57 +000024 RecordKeeper &Records;
Anton Korobeynikovac67b7e2008-03-23 08:57:20 +000025 public:
Chris Lattner9c6b60e2010-12-15 04:48:22 +000026 explicit LLVMCConfigurationEmitter(RecordKeeper &records) :
Chris Lattner67db8832010-12-13 00:23:57 +000027 Records(records) {}
Anton Korobeynikovac67b7e2008-03-23 08:57:20 +000028
29 // run - Output the asmwriter, returning true on failure.
Daniel Dunbar1a551802009-07-03 00:10:29 +000030 void run(raw_ostream &o);
Anton Korobeynikovac67b7e2008-03-23 08:57:20 +000031 };
32}
33
Mikhail Glushenkov895820d2008-05-06 18:12:03 +000034#endif //LLVM_UTILS_TABLEGEN_LLVMCCONF_EMITTER_H