| //=====-- SparcSubtarget.h - Define Subtarget for the SPARC ----*- C++ -*-====// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file was developed by Chris Lattner and is distributed under the |
| // University of Illinois Open Source License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| // |
| // This file declares the SPARC specific subclass of TargetSubtarget. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef SPARC_SUBTARGET_H |
| #define SPARC_SUBTARGET_H |
| |
| #include "llvm/Target/TargetSubtarget.h" |
| #include <string> |
| |
| namespace llvm { |
| class Module; |
| |
| class SparcSubtarget : public TargetSubtarget { |
| bool IsV9; |
| bool V8DeprecatedInsts; |
| bool IsVIS; |
| public: |
| SparcSubtarget(const Module &M, const std::string &FS); |
| |
| bool isV9() const { return IsV9; } |
| bool isVIS() const { return IsVIS; } |
| bool useDeprecatedV8Instructions() const { return V8DeprecatedInsts; } |
| |
| /// ParseSubtargetFeatures - Parses features string setting specified |
| /// subtarget options. Definition of function is auto generated by tblgen. |
| void ParseSubtargetFeatures(const std::string &FS, const std::string &CPU); |
| |
| }; |
| |
| } // end namespace llvm |
| |
| #endif |