blob: ead213bcaedbc9ce344336a0a8c0f9daa138de70 [file] [log] [blame]
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +00001//====-- MSP430Subtarget.h - Define Subtarget for the 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//
Evan Cheng5b1b44892011-07-01 21:01:15 +000010// This file declares the MSP430 specific subclass of TargetSubtargetInfo.
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000011//
12//===----------------------------------------------------------------------===//
13
14#ifndef LLVM_TARGET_MSP430_SUBTARGET_H
15#define LLVM_TARGET_MSP430_SUBTARGET_H
16
Evan Cheng5b1b44892011-07-01 21:01:15 +000017#include "llvm/Target/TargetSubtargetInfo.h"
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000018
Evan Cheng94214702011-07-01 20:45:01 +000019#define GET_SUBTARGETINFO_HEADER
Evan Cheng385e9302011-07-01 22:36:09 +000020#include "MSP430GenSubtargetInfo.inc"
Evan Cheng94214702011-07-01 20:45:01 +000021
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000022#include <string>
23
24namespace llvm {
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000025
Evan Cheng94214702011-07-01 20:45:01 +000026class MSP430Subtarget : public MSP430GenSubtargetInfo {
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000027 bool ExtendedInsts;
28public:
29 /// This constructor initializes the data members to match that
Daniel Dunbar3be03402009-08-02 22:11:08 +000030 /// of the specified triple.
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000031 ///
Evan Cheng276365d2011-06-30 01:53:36 +000032 MSP430Subtarget(const std::string &TT, const std::string &CPU,
33 const std::string &FS);
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000034
35 /// ParseSubtargetFeatures - Parses features string setting specified
36 /// subtarget options. Definition of function is auto generated by tblgen.
Evan Cheng276365d2011-06-30 01:53:36 +000037 void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU);
Anton Korobeynikovf2c3e172009-05-03 12:57:15 +000038};
39} // End llvm namespace
40
41#endif // LLVM_TARGET_MSP430_SUBTARGET_H