1//===-- CTargetMachine.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 CTARGETMACHINE_H 15#define CTARGETMACHINE_H 16 17#include "llvm/Target/TargetMachine.h" 18#include "llvm/Target/TargetData.h" 19 20namespace llvm { 21 22struct CTargetMachine : public TargetMachine { 23 CTargetMachine(const Target &T, StringRef TT, 24 StringRef CPU, StringRef FS, 25 Reloc::Model RM, CodeModel::Model CM) 26 : TargetMachine(T, TT, CPU, FS) {} 27 28 virtual bool addPassesToEmitFile(PassManagerBase &PM, 29 formatted_raw_ostream &Out, 30 CodeGenFileType FileType, 31 CodeGenOpt::Level OptLevel, 32 bool DisableVerify); 33 34 virtual const TargetData *getTargetData() const { return 0; } 35}; 36 37extern Target TheCBackendTarget; 38 39} // End llvm namespace 40 41 42#endif 43