LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CPPTargetMachine.h
Go to the documentation of this file.
1 //===-- CPPTargetMachine.h - TargetMachine for the C++ backend --*- 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 file declares the TargetMachine that is used by the C++ backend.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef CPPTARGETMACHINE_H
15 #define CPPTARGETMACHINE_H
16 
17 #include "llvm/IR/DataLayout.h"
19 
20 namespace llvm {
21 
22 class formatted_raw_ostream;
23 
29  : TargetMachine(T, TT, CPU, FS, Options) {}
30 
31  virtual bool addPassesToEmitFile(PassManagerBase &PM,
34  bool DisableVerify,
37 
38  virtual const DataLayout *getDataLayout() const { return 0; }
39 };
40 
41 extern Target TheCppBackendTarget;
42 
43 } // End llvm namespace
44 
45 
46 #endif
CPPTargetMachine(const Target &T, StringRef TT, StringRef CPU, StringRef FS, const TargetOptions &Options, Reloc::Model RM, CodeModel::Model CM, CodeGenOpt::Level OL)
virtual bool addPassesToEmitFile(PassManagerBase &PM, formatted_raw_ostream &Out, CodeGenFileType FileType, bool DisableVerify, AnalysisID StartAfter, AnalysisID StopAfter)
Target TheCppBackendTarget
virtual const DataLayout * getDataLayout() const
cl::opt< std::string > StopAfter("stop-after", cl::desc("Stop compilation after a specific pass"), cl::value_desc("pass-name"), cl::init(""))
cl::opt< std::string > StartAfter("start-after", cl::desc("Resume compilation after a specific pass"), cl::value_desc("pass-name"), cl::init(""))
cl::opt< TargetMachine::CodeGenFileType > FileType("filetype", cl::init(TargetMachine::CGFT_AssemblyFile), cl::desc("Choose a file type (not all types are supported by all targets):"), cl::values(clEnumValN(TargetMachine::CGFT_AssemblyFile,"asm","Emit an assembly ('.s') file"), clEnumValN(TargetMachine::CGFT_ObjectFile,"obj","Emit a native object ('.o') file"), clEnumValN(TargetMachine::CGFT_Null,"null","Emit nothing, for performance testing"), clEnumValEnd))
const void * AnalysisID
Definition: Pass.h:47