| Jakob Stoklund Olesen | 552d8d6 | 2009-08-02 17:32:10 +0000 | [diff] [blame] | 1 | //===- BlackfinSubtarget.h - Define Subtarget for the Blackfin -*- 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 BLACKFIN specific subclass of TargetSubtarget. | 
|  | 11 | // | 
|  | 12 | //===----------------------------------------------------------------------===// | 
|  | 13 |  | 
|  | 14 | #ifndef BLACKFIN_SUBTARGET_H | 
|  | 15 | #define BLACKFIN_SUBTARGET_H | 
|  | 16 |  | 
|  | 17 | #include "llvm/Target/TargetSubtarget.h" | 
|  | 18 | #include <string> | 
|  | 19 |  | 
|  | 20 | namespace llvm { | 
|  | 21 |  | 
| Jakob Stoklund Olesen | 552d8d6 | 2009-08-02 17:32:10 +0000 | [diff] [blame] | 22 | class BlackfinSubtarget : public TargetSubtarget { | 
| Jakob Stoklund Olesen | ddddf2d | 2009-08-02 18:27:36 +0000 | [diff] [blame] | 23 | bool sdram; | 
|  | 24 | bool icplb; | 
|  | 25 | bool wa_mi_shift; | 
|  | 26 | bool wa_csync; | 
|  | 27 | bool wa_specld; | 
|  | 28 | bool wa_mmr_stall; | 
|  | 29 | bool wa_lcregs; | 
|  | 30 | bool wa_hwloop; | 
|  | 31 | bool wa_ind_call; | 
|  | 32 | bool wa_killed_mmr; | 
|  | 33 | bool wa_rets; | 
| Jakob Stoklund Olesen | 552d8d6 | 2009-08-02 17:32:10 +0000 | [diff] [blame] | 34 | public: | 
| Daniel Dunbar | 31b44e8 | 2009-08-02 22:11:08 +0000 | [diff] [blame^] | 35 | BlackfinSubtarget(const std::string &TT, const std::string &FS); | 
| Jakob Stoklund Olesen | 552d8d6 | 2009-08-02 17:32:10 +0000 | [diff] [blame] | 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 |  | 
|  | 43 | } // end namespace llvm | 
|  | 44 |  | 
|  | 45 | #endif |