1235633Sdim//===-- XCoreSubtarget.h - Define Subtarget for the XCore -------*- C++ -*-===//
2193323Sed//
3193323Sed//                     The LLVM Compiler Infrastructure
4193323Sed//
5193323Sed// This file is distributed under the University of Illinois Open Source
6193323Sed// License. See LICENSE.TXT for details.
7193323Sed//
8193323Sed//===----------------------------------------------------------------------===//
9193323Sed//
10224145Sdim// This file declares the XCore specific subclass of TargetSubtargetInfo.
11193323Sed//
12193323Sed//===----------------------------------------------------------------------===//
13193323Sed
14193323Sed#ifndef XCORESUBTARGET_H
15193323Sed#define XCORESUBTARGET_H
16193323Sed
17252723Sdim#include "llvm/Target/TargetMachine.h"
18224145Sdim#include "llvm/Target/TargetSubtargetInfo.h"
19193323Sed#include <string>
20193323Sed
21224145Sdim#define GET_SUBTARGETINFO_HEADER
22224145Sdim#include "XCoreGenSubtargetInfo.inc"
23224145Sdim
24193323Sednamespace llvm {
25224145Sdimclass StringRef;
26193323Sed
27224145Sdimclass XCoreSubtarget : public XCoreGenSubtargetInfo {
28235633Sdim  virtual void anchor();
29193323Sed
30193323Sedpublic:
31193323Sed  /// This constructor initializes the data members to match that
32198090Srdivacky  /// of the specified triple.
33193323Sed  ///
34224145Sdim  XCoreSubtarget(const std::string &TT, const std::string &CPU,
35224145Sdim                 const std::string &FS);
36193323Sed
37193323Sed  /// ParseSubtargetFeatures - Parses features string setting specified
38193323Sed  /// subtarget options.  Definition of function is auto generated by tblgen.
39224145Sdim  void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
40193323Sed};
41193323Sed} // End llvm namespace
42193323Sed
43193323Sed#endif
44