diff options
Diffstat (limited to 'llvm/lib/Target/Blackfin')
-rw-r--r-- | llvm/lib/Target/Blackfin/BlackfinSubtarget.cpp | 7 | ||||
-rw-r--r-- | llvm/lib/Target/Blackfin/BlackfinSubtarget.h | 5 | ||||
-rw-r--r-- | llvm/lib/Target/Blackfin/BlackfinTargetMachine.cpp | 3 | ||||
-rw-r--r-- | llvm/lib/Target/Blackfin/BlackfinTargetMachine.h | 2 |
4 files changed, 11 insertions, 6 deletions
diff --git a/llvm/lib/Target/Blackfin/BlackfinSubtarget.cpp b/llvm/lib/Target/Blackfin/BlackfinSubtarget.cpp index e104c5245a9..50920264515 100644 --- a/llvm/lib/Target/Blackfin/BlackfinSubtarget.cpp +++ b/llvm/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/llvm/lib/Target/Blackfin/BlackfinSubtarget.h b/llvm/lib/Target/Blackfin/BlackfinSubtarget.h index d667fe26519..a1a09ec4ec9 100644 --- a/llvm/lib/Target/Blackfin/BlackfinSubtarget.h +++ b/llvm/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/llvm/lib/Target/Blackfin/BlackfinTargetMachine.cpp b/llvm/lib/Target/Blackfin/BlackfinTargetMachine.cpp index e11920f568a..477c43882f3 100644 --- a/llvm/lib/Target/Blackfin/BlackfinTargetMachine.cpp +++ b/llvm/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/llvm/lib/Target/Blackfin/BlackfinTargetMachine.h b/llvm/lib/Target/Blackfin/BlackfinTargetMachine.h index 29b2b177fc3..bd7dc84f04a 100644 --- a/llvm/lib/Target/Blackfin/BlackfinTargetMachine.h +++ b/llvm/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 { |