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