1193323Sed//===-- CPPTargetMachine.h - TargetMachine for the C++ backend --*- C++ -*-===//
2193323Sed//
3193323Sed//                     The LLVM Compiler Infrastructure
4193323Sed//
5193323Sed// This file is distributed under the University of Illinois Open Source
6193323Sed// License. See LICENSE.TXT for details.
7193323Sed//
8193323Sed//===----------------------------------------------------------------------===//
9193323Sed//
10193323Sed// This file declares the TargetMachine that is used by the C++ backend.
11193323Sed//
12193323Sed//===----------------------------------------------------------------------===//
13193323Sed
14193323Sed#ifndef CPPTARGETMACHINE_H
15193323Sed#define CPPTARGETMACHINE_H
16193323Sed
17252723Sdim#include "llvm/IR/DataLayout.h"
18193323Sed#include "llvm/Target/TargetMachine.h"
19193323Sed
20193323Sednamespace llvm {
21193323Sed
22198090Srdivackyclass formatted_raw_ostream;
23193323Sed
24193323Sedstruct CPPTargetMachine : public TargetMachine {
25226890Sdim  CPPTargetMachine(const Target &T, StringRef TT,
26235633Sdim                   StringRef CPU, StringRef FS, const TargetOptions &Options,
27235633Sdim                   Reloc::Model RM, CodeModel::Model CM,
28235633Sdim                   CodeGenOpt::Level OL)
29235633Sdim    : TargetMachine(T, TT, CPU, FS, Options) {}
30193323Sed
31208599Srdivacky  virtual bool addPassesToEmitFile(PassManagerBase &PM,
32208599Srdivacky                                   formatted_raw_ostream &Out,
33208599Srdivacky                                   CodeGenFileType FileType,
34245431Sdim                                   bool DisableVerify,
35245431Sdim                                   AnalysisID StartAfter,
36245431Sdim                                   AnalysisID StopAfter);
37193323Sed
38245431Sdim  virtual const DataLayout *getDataLayout() const { return 0; }
39193323Sed};
40193323Sed
41198090Srdivackyextern Target TheCppBackendTarget;
42198090Srdivacky
43193323Sed} // End llvm namespace
44193323Sed
45193323Sed
46193323Sed#endif
47