1 //=====-- AlphaSubtarget.h - Define Subtarget for the Alpha --*- C++ -*--====//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file declares the Alpha specific subclass of TargetSubtargetInfo.
12 //===----------------------------------------------------------------------===//
14 #ifndef ALPHASUBTARGET_H
15 #define ALPHASUBTARGET_H
17 #include "llvm/Target/TargetSubtargetInfo.h"
18 #include "llvm/MC/MCInstrItineraries.h"
21 #define GET_SUBTARGETINFO_HEADER
22 #include "AlphaGenSubtargetInfo.inc"
27 class AlphaSubtarget
: public AlphaGenSubtargetInfo
{
32 InstrItineraryData InstrItins
;
35 /// This constructor initializes the data members to match that
36 /// of the specified triple.
38 AlphaSubtarget(const std::string
&TT
, const std::string
&CPU
,
39 const std::string
&FS
);
41 /// ParseSubtargetFeatures - Parses features string setting specified
42 /// subtarget options. Definition of function is auto generated by tblgen.
43 void ParseSubtargetFeatures(StringRef CPU
, StringRef FS
);
45 bool hasCT() const { return HasCT
; }
47 } // End llvm namespace