]> git.proxmox.com Git - rustc.git/blame - src/llvm/lib/Target/MSP430/MSP430TargetMachine.h
Imported Upstream version 1.0.0-alpha.2
[rustc.git] / src / llvm / lib / Target / MSP430 / MSP430TargetMachine.h
CommitLineData
223e47cc
LB
1//===-- MSP430TargetMachine.h - Define TargetMachine for MSP430 -*- 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 MSP430 specific subclass of TargetMachine.
11//
12//===----------------------------------------------------------------------===//
13
14
1a4d82fc
JJ
15#ifndef LLVM_LIB_TARGET_MSP430_MSP430TARGETMACHINE_H
16#define LLVM_LIB_TARGET_MSP430_MSP430TARGETMACHINE_H
223e47cc 17
223e47cc 18#include "MSP430Subtarget.h"
223e47cc
LB
19#include "llvm/Target/TargetFrameLowering.h"
20#include "llvm/Target/TargetMachine.h"
21
22namespace llvm {
23
24/// MSP430TargetMachine
25///
26class MSP430TargetMachine : public LLVMTargetMachine {
85aaf69f 27 std::unique_ptr<TargetLoweringObjectFile> TLOF;
223e47cc 28 MSP430Subtarget Subtarget;
223e47cc
LB
29
30public:
31 MSP430TargetMachine(const Target &T, StringRef TT,
32 StringRef CPU, StringRef FS, const TargetOptions &Options,
33 Reloc::Model RM, CodeModel::Model CM,
34 CodeGenOpt::Level OL);
85aaf69f 35 ~MSP430TargetMachine() override;
223e47cc 36
1a4d82fc
JJ
37 const MSP430Subtarget *getSubtargetImpl() const override {
38 return &Subtarget;
223e47cc 39 }
1a4d82fc 40 TargetPassConfig *createPassConfig(PassManagerBase &PM) override;
85aaf69f
SL
41
42 TargetLoweringObjectFile *getObjFileLowering() const override {
43 return TLOF.get();
44 }
223e47cc
LB
45}; // MSP430TargetMachine.
46
47} // end namespace llvm
48
1a4d82fc 49#endif