1//===-- XCoreSubtarget.h - Define Subtarget for the XCore -------*- 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 XCore specific subclass of TargetSubtargetInfo.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef XCORESUBTARGET_H
15#define XCORESUBTARGET_H
16
17#include "llvm/Target/TargetMachine.h"
18#include "llvm/Target/TargetSubtargetInfo.h"
19#include <string>
20
21#define GET_SUBTARGETINFO_HEADER
22#include "XCoreGenSubtargetInfo.inc"
23
24namespace llvm {
25class StringRef;
26
27class XCoreSubtarget : public XCoreGenSubtargetInfo {
28  virtual void anchor();
29
30public:
31  /// This constructor initializes the data members to match that
32  /// of the specified triple.
33  ///
34  XCoreSubtarget(const std::string &TT, const std::string &CPU,
35                 const std::string &FS);
36
37  /// ParseSubtargetFeatures - Parses features string setting specified
38  /// subtarget options.  Definition of function is auto generated by tblgen.
39  void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
40};
41} // End llvm namespace
42
43#endif
44