blob: 715bbdaf0c87c8ac84d5a327ad077f03592a95e3 [file] [log] [blame]
Shih-wei Liaoe264f622010-02-10 11:10:31 -08001//===-- 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, const std::string &TT, const std::string &FS)
24 : TargetMachine(T) {}
25
26 virtual bool WantsWholeFile() const { return true; }
27 virtual bool addPassesToEmitWholeFile(PassManager &PM,
28 formatted_raw_ostream &Out,
29 CodeGenFileType FileType,
30 CodeGenOpt::Level OptLevel);
31
32 virtual const TargetData *getTargetData() const { return 0; }
33};
34
35extern Target TheCBackendTarget;
36
37} // End llvm namespace
38
39
40#endif