diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp')
| -rw-r--r-- | contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp | 23 | 
1 files changed, 17 insertions, 6 deletions
diff --git a/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp b/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp index 70747f5da137..6eee3333d584 100644 --- a/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp +++ b/contrib/llvm/lib/Target/Mips/MipsSubtarget.cpp @@ -7,27 +7,38 @@  //  //===----------------------------------------------------------------------===//  // -// This file implements the Mips specific subclass of TargetSubtarget. +// This file implements the Mips specific subclass of TargetSubtargetInfo.  //  //===----------------------------------------------------------------------===//  #include "MipsSubtarget.h"  #include "Mips.h" -#include "MipsGenSubtarget.inc" +#include "llvm/Target/TargetRegistry.h" + +#define GET_SUBTARGETINFO_TARGET_DESC +#define GET_SUBTARGETINFO_CTOR +#include "MipsGenSubtargetInfo.inc" +  using namespace llvm; -MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &FS, -                             bool little) : +MipsSubtarget::MipsSubtarget(const std::string &TT, const std::string &CPU, +                             const std::string &FS, bool little) : +  MipsGenSubtargetInfo(TT, CPU, FS),    MipsArchVersion(Mips1), MipsABI(O32), IsLittle(little), IsSingleFloat(false),    IsFP64bit(false), IsGP64bit(false), HasVFPU(false), IsLinux(true),    HasSEInReg(false), HasCondMov(false), HasMulDivAdd(false), HasMinMax(false),    HasSwap(false), HasBitCount(false)  { -  std::string CPU = "mips1"; +  std::string CPUName = CPU; +  if (CPUName.empty()) +    CPUName = "mips1";    MipsArchVersion = Mips1;    // Parse features string. -  ParseSubtargetFeatures(FS, CPU); +  ParseSubtargetFeatures(CPUName, FS); + +  // Initialize scheduling itinerary for the specified CPU. +  InstrItins = getInstrItineraryForCPU(CPUName);    // Is the target system Linux ?    if (TT.find("linux") == std::string::npos)  | 
