X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FTarget%2FMSP430%2FMSP430Subtarget.h;h=81f6f027d45c29d632d2fc791dc9829d79756d71;hb=4d13f315d1794f2d72dcf7240d97e9294e9db1f7;hp=1ce5f11fe1bb0a4a6a5e90e49424eba1240db0bb;hpb=0ddff1b5359433faf2eb1c4ff5320ddcbd42f52f;p=oota-llvm.git diff --git a/lib/Target/MSP430/MSP430Subtarget.h b/lib/Target/MSP430/MSP430Subtarget.h index 1ce5f11fe1b..81f6f027d45 100644 --- a/lib/Target/MSP430/MSP430Subtarget.h +++ b/lib/Target/MSP430/MSP430Subtarget.h @@ -1,4 +1,4 @@ -//====-- MSP430Subtarget.h - Define Subtarget for the MSP430 ---*- C++ -*--===// +//===-- MSP430Subtarget.h - Define Subtarget for the MSP430 ----*- C++ -*--===// // // The LLVM Compiler Infrastructure // @@ -11,31 +11,58 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_TARGET_MSP430_SUBTARGET_H -#define LLVM_TARGET_MSP430_SUBTARGET_H +#ifndef LLVM_LIB_TARGET_MSP430_MSP430SUBTARGET_H +#define LLVM_LIB_TARGET_MSP430_MSP430SUBTARGET_H +#include "MSP430FrameLowering.h" +#include "MSP430ISelLowering.h" +#include "MSP430InstrInfo.h" +#include "MSP430RegisterInfo.h" +#include "MSP430SelectionDAGInfo.h" +#include "llvm/IR/DataLayout.h" #include "llvm/Target/TargetSubtargetInfo.h" +#include #define GET_SUBTARGETINFO_HEADER #include "MSP430GenSubtargetInfo.inc" -#include - namespace llvm { class StringRef; class MSP430Subtarget : public MSP430GenSubtargetInfo { + virtual void anchor(); bool ExtendedInsts; + MSP430FrameLowering FrameLowering; + MSP430InstrInfo InstrInfo; + MSP430TargetLowering TLInfo; + MSP430SelectionDAGInfo TSInfo; + public: /// This constructor initializes the data members to match that /// of the specified triple. /// - MSP430Subtarget(const std::string &TT, const std::string &CPU, - const std::string &FS); + MSP430Subtarget(const Triple &TT, const std::string &CPU, + const std::string &FS, const TargetMachine &TM); + + MSP430Subtarget &initializeSubtargetDependencies(StringRef CPU, StringRef FS); /// ParseSubtargetFeatures - Parses features string setting specified /// subtarget options. Definition of function is auto generated by tblgen. void ParseSubtargetFeatures(StringRef CPU, StringRef FS); + + const TargetFrameLowering *getFrameLowering() const override { + return &FrameLowering; + } + const MSP430InstrInfo *getInstrInfo() const override { return &InstrInfo; } + const TargetRegisterInfo *getRegisterInfo() const override { + return &InstrInfo.getRegisterInfo(); + } + const MSP430TargetLowering *getTargetLowering() const override { + return &TLInfo; + } + const MSP430SelectionDAGInfo *getSelectionDAGInfo() const override { + return &TSInfo; + } }; } // End llvm namespace