diff options
| author | Chris Lattner <sabre@nondot.org> | 2009-08-02 04:44:33 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2009-08-02 04:44:33 +0000 | 
| commit | d45a7860ecbecc3db73d22859918e6e337ae4a53 (patch) | |
| tree | 7c6173140d5d5782e4c61762679746fa8d33bf62 | |
| parent | 2be66ce4204357594e46eb8b4d20ec776b890f17 (diff) | |
| download | bcm5719-llvm-d45a7860ecbecc3db73d22859918e6e337ae4a53.tar.gz bcm5719-llvm-d45a7860ecbecc3db73d22859918e6e337ae4a53.zip  | |
simplify SPULinuxTargetAsmInfo, remove use of TM.
llvm-svn: 77869
| -rw-r--r-- | llvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp | 20 | ||||
| -rw-r--r-- | llvm/lib/Target/CellSPU/SPUTargetAsmInfo.h | 25 | ||||
| -rw-r--r-- | llvm/lib/Target/CellSPU/SPUTargetMachine.cpp | 15 | 
3 files changed, 16 insertions, 44 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp b/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp index 76c4db48307..66c25a84b4b 100644 --- a/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp +++ b/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.cpp @@ -12,16 +12,17 @@  //===----------------------------------------------------------------------===//  #include "SPUTargetAsmInfo.h" -#include "SPUTargetMachine.h" -#include "llvm/Function.h" -#include "llvm/Support/Compiler.h" -#include "llvm/Support/Dwarf.h" -  using namespace llvm; -using namespace llvm::dwarf; -SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo(const SPUTargetMachine &TM) : -    SPUTargetAsmInfo<TargetAsmInfo>(TM) { +SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo() { +  ZeroDirective = "\t.space\t"; +  SetDirective = "\t.set"; +  Data64bitsDirective = "\t.quad\t"; +  AlignmentIsInBytes = false; +  LCOMMDirective = "\t.lcomm\t"; +  InlineAsmStart = "# InlineAsm Start"; +  InlineAsmEnd = "# InlineAsm End"; +          PCSymbol = ".";    CommentString = "#";    GlobalPrefix = ""; @@ -50,6 +51,3 @@ SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo(const SPUTargetMachine &TM) :    SupportsExceptionHandling = false;  } - -// Instantiate default implementation. -TEMPLATE_INSTANTIATION(class SPUTargetAsmInfo<TargetAsmInfo>); diff --git a/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.h b/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.h index 8217c16fb87..9507ff9e59e 100644 --- a/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.h +++ b/llvm/lib/Target/CellSPU/SPUTargetAsmInfo.h @@ -15,32 +15,11 @@  #define SPUTARGETASMINFO_H  #include "llvm/Target/TargetAsmInfo.h" -#include "SPUTargetMachine.h" -#include "SPUSubtarget.h"  namespace llvm { -  // Forward declaration. -  class SPUTargetMachine; -   -  template <class BaseTAI> -  struct SPUTargetAsmInfo : public BaseTAI { -    explicit SPUTargetAsmInfo(const SPUTargetMachine &TM) { -      /* (unused today) -       * const SPUSubtarget *Subtarget = &TM.getSubtarget<SPUSubtarget>(); */ - -      BaseTAI::ZeroDirective = "\t.space\t"; -      BaseTAI::SetDirective = "\t.set"; -      BaseTAI::Data64bitsDirective = "\t.quad\t"; -      BaseTAI::AlignmentIsInBytes = false; -      BaseTAI::LCOMMDirective = "\t.lcomm\t"; -      BaseTAI::InlineAsmStart = "# InlineAsm Start"; -      BaseTAI::InlineAsmEnd = "# InlineAsm End"; -    } -  }; -   -  struct SPULinuxTargetAsmInfo : public SPUTargetAsmInfo<TargetAsmInfo> { -    explicit SPULinuxTargetAsmInfo(const SPUTargetMachine &TM); +  struct SPULinuxTargetAsmInfo : public TargetAsmInfo { +    explicit SPULinuxTargetAsmInfo();    };  } // namespace llvm diff --git a/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp b/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp index 26215cd26fc..340eb56f361 100644 --- a/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp +++ b/llvm/lib/Target/CellSPU/SPUTargetMachine.cpp @@ -34,10 +34,8 @@ SPUFrameInfo::getCalleeSaveSpillSlots(unsigned &NumEntries) const {    return &LR[0];  } -const TargetAsmInfo * -SPUTargetMachine::createTargetAsmInfo() const -{ -  return new SPULinuxTargetAsmInfo(*this); +const TargetAsmInfo *SPUTargetMachine::createTargetAsmInfo() const { +  return new SPULinuxTargetAsmInfo();  }  SPUTargetMachine::SPUTargetMachine(const Target &T, const Module &M,  @@ -48,8 +46,7 @@ SPUTargetMachine::SPUTargetMachine(const Target &T, const Module &M,      InstrInfo(*this),      FrameInfo(*this),      TLInfo(*this), -    InstrItins(Subtarget.getInstrItineraryData()) -{ +    InstrItins(Subtarget.getInstrItineraryData()) {    // For the time being, use static relocations, since there's really no    // support for PIC yet.    setRelocationModel(Reloc::Static); @@ -59,10 +56,8 @@ SPUTargetMachine::SPUTargetMachine(const Target &T, const Module &M,  // Pass Pipeline Configuration  //===----------------------------------------------------------------------===// -bool -SPUTargetMachine::addInstSelector(PassManagerBase &PM, -                                  CodeGenOpt::Level OptLevel) -{ +bool SPUTargetMachine::addInstSelector(PassManagerBase &PM, +                                       CodeGenOpt::Level OptLevel) {    // Install an instruction selector.    PM.add(createSPUISelDag(*this));    return false;  | 

