diff options
Diffstat (limited to 'lib/Target/Blackfin')
| -rw-r--r-- | lib/Target/Blackfin/BlackfinSubtarget.cpp | 7 | ||||
| -rw-r--r-- | lib/Target/Blackfin/BlackfinSubtarget.h | 5 | ||||
| -rw-r--r-- | lib/Target/Blackfin/BlackfinTargetMachine.cpp | 3 | ||||
| -rw-r--r-- | lib/Target/Blackfin/BlackfinTargetMachine.h | 2 | 
4 files changed, 11 insertions, 6 deletions
diff --git a/lib/Target/Blackfin/BlackfinSubtarget.cpp b/lib/Target/Blackfin/BlackfinSubtarget.cpp index e104c52..5092026 100644 --- a/lib/Target/Blackfin/BlackfinSubtarget.cpp +++ b/lib/Target/Blackfin/BlackfinSubtarget.cpp @@ -17,6 +17,7 @@  using namespace llvm;  BlackfinSubtarget::BlackfinSubtarget(const std::string &TT, +                                     const std::string &CPU,                                       const std::string &FS)    : sdram(false),      icplb(false), @@ -30,7 +31,9 @@ BlackfinSubtarget::BlackfinSubtarget(const std::string &TT,      wa_killed_mmr(false),      wa_rets(false)  { -  std::string CPU = "generic"; +  std::string CPUName = CPU; +  if (CPUName.empty()) +    CPUName = "generic";    // Parse features string. -  ParseSubtargetFeatures(FS, CPU); +  ParseSubtargetFeatures(FS, CPUName);  } diff --git a/lib/Target/Blackfin/BlackfinSubtarget.h b/lib/Target/Blackfin/BlackfinSubtarget.h index d667fe2..a1a09ec 100644 --- a/lib/Target/Blackfin/BlackfinSubtarget.h +++ b/lib/Target/Blackfin/BlackfinSubtarget.h @@ -32,11 +32,12 @@ namespace llvm {      bool wa_killed_mmr;      bool wa_rets;    public: -    BlackfinSubtarget(const std::string &TT, const std::string &FS); +    BlackfinSubtarget(const std::string &TT, const std::string &CPU, +                      const std::string &FS);      /// ParseSubtargetFeatures - Parses features string setting specified      /// subtarget options.  Definition of function is auto generated by tblgen. -    std::string ParseSubtargetFeatures(const std::string &FS, +    void ParseSubtargetFeatures(const std::string &FS,                                         const std::string &CPU);    }; diff --git a/lib/Target/Blackfin/BlackfinTargetMachine.cpp b/lib/Target/Blackfin/BlackfinTargetMachine.cpp index e11920f..477c438 100644 --- a/lib/Target/Blackfin/BlackfinTargetMachine.cpp +++ b/lib/Target/Blackfin/BlackfinTargetMachine.cpp @@ -26,10 +26,11 @@ extern "C" void LLVMInitializeBlackfinTarget() {  BlackfinTargetMachine::BlackfinTargetMachine(const Target &T,                                               const std::string &TT, +                                             const std::string &CPU,                                               const std::string &FS)    : LLVMTargetMachine(T, TT),      DataLayout("e-p:32:32-i64:32-f64:32-n32"), -    Subtarget(TT, FS), +    Subtarget(TT, CPU, FS),      TLInfo(*this),      TSInfo(*this),      InstrInfo(Subtarget), diff --git a/lib/Target/Blackfin/BlackfinTargetMachine.h b/lib/Target/Blackfin/BlackfinTargetMachine.h index 29b2b17..bd7dc84 100644 --- a/lib/Target/Blackfin/BlackfinTargetMachine.h +++ b/lib/Target/Blackfin/BlackfinTargetMachine.h @@ -36,7 +36,7 @@ namespace llvm {      BlackfinIntrinsicInfo IntrinsicInfo;    public:      BlackfinTargetMachine(const Target &T, const std::string &TT, -                          const std::string &FS); +                          const std::string &CPU, const std::string &FS);      virtual const BlackfinInstrInfo *getInstrInfo() const { return &InstrInfo; }      virtual const TargetFrameLowering *getFrameLowering() const {  | 
